/**
Theme Name: Astra Child Theme
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-theme
Template: astra
*/

/* ---------- Dashboard cards styling (My Account) ---------- */

.ok-dashboard-cards-wrap {
  margin-top: 20px;
  margin-bottom: 18px;
}

/* grid layout for cards: responsive */
.ok-dashboard-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 18px;
  align-items: stretch;
}

/* each card */
.ok-dashboard-cards .ok-card {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px 18px;
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 8px;
  background: #fff;
  font-size: 20px;
  font-weight: 600;
  color: #263238; /* title color */
  text-decoration: none;
  transition: all .12s ease-in-out;
}

/* hover/focus */
.ok-dashboard-cards .ok-card:hover,
.ok-dashboard-cards .ok-card:focus {
  background: #fce4ec;
  border-color: #c2185b;
  color: #c2185b;
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.04);
}

/* smaller screens: reduce font-size & padding */
@media (max-width: 520px) {
  .ok-dashboard-cards .ok-card {
    font-size: 16px;
    padding: 14px 12px;
  }
  
}

/* Optional: align cards under the My Account header visually */
.woocommerce-account .ok-dashboard-cards-wrap {
  /* Add left padding if you need alignment with main content area */
  padding-left: 0;
}

/* Small accessibility polish */
.ok-dashboard-cards .ok-card:focus {
  outline: 3px solid rgba(194,24,91,0.15);
  outline-offset: 2px;
}

/*.woocommerce-shipping-fields { transition: max-height .2s ease, opacity .2s ease; overflow: hidden; }*/
/*.woocommerce-shipping-fields[style*="display: none"] { opacity: 0; max-height: 0; }*/

/* ---------- Homepage polish ---------- */

body.home,
body.front-page {
  --ok-home-ink: #1e293b;
  --ok-home-muted: #5b6472;
  --ok-home-accent: #e94f9a;
  --ok-home-accent-dark: #b72d73;
  --ok-home-surface: rgba(255, 255, 255, 0.78);
  --ok-home-shadow: 0 24px 60px rgba(15, 23, 42, 0.12);
  background:
    radial-gradient(circle at top left, rgba(233, 79, 154, 0.14), transparent 28%),
    radial-gradient(circle at top right, rgba(255, 173, 214, 0.18), transparent 24%),
    linear-gradient(180deg, #fff8fc 0%, #fff2f8 52%, #ffffff 100%);
}

body.home .site-content,
body.front-page .site-content {
  position: relative;
}

body.home .entry-title,
body.front-page .entry-title,
body.home h1,
body.front-page h1,
body.home h2,
body.front-page h2,
body.home h3,
body.front-page h3 {
  color: var(--ok-home-ink);
  letter-spacing: -0.02em;
  text-wrap: balance;
}

body.home p,
body.front-page p,
body.home li,
body.front-page li {
  color: var(--ok-home-muted);
}

body.home .ast-button,
body.home .button,
body.home .wp-block-button__link,
body.front-page .ast-button,
body.front-page .button,
body.front-page .wp-block-button__link {
  border-radius: 999px;
  padding: 0.95rem 1.6rem;
  border: 1px solid transparent;
  background: linear-gradient(135deg, var(--ok-home-accent) 0%, var(--ok-home-accent-dark) 100%);
  box-shadow: 0 14px 30px rgba(141, 63, 22, 0.2);
  transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

body.home .ast-button:hover,
body.home .button:hover,
body.home .wp-block-button__link:hover,
body.front-page .ast-button:hover,
body.front-page .button:hover,
body.front-page .wp-block-button__link:hover {
  transform: translateY(-2px);
  filter: saturate(1.05);
  box-shadow: 0 18px 36px rgba(141, 63, 22, 0.28);
}

body.home .entry-content > .wp-block-group,
body.home .entry-content > .wp-block-cover,
body.home .entry-content > .wp-block-columns,
body.front-page .entry-content > .wp-block-group,
body.front-page .entry-content > .wp-block-cover,
body.front-page .entry-content > .wp-block-columns {
  position: relative;
}

body.home .wp-block-group:not(.has-background),
body.home .wp-block-columns:not(.has-background),
body.front-page .wp-block-group:not(.has-background),
body.front-page .wp-block-columns:not(.has-background) {
  background: var(--ok-home-surface);
  backdrop-filter: blur(8px);
  border: 1px solid rgba(255, 255, 255, 0.75);
  border-radius: 28px;
  box-shadow: var(--ok-home-shadow);
}

body.home .wp-block-cover,
body.front-page .wp-block-cover {
  overflow: hidden;
  border-radius: 32px;
  box-shadow: var(--ok-home-shadow);
}

body.home .wp-block-image img,
body.front-page .wp-block-image img {
  border-radius: 24px;
}

body.home .wp-block-media-text,
body.front-page .wp-block-media-text {
  gap: 2rem;
}

body.home .is-layout-flow > * + *,
body.front-page .is-layout-flow > * + * {
  margin-block-start: clamp(1rem, 2vw, 1.5rem);
}

body.home .wp-block-buttons,
body.front-page .wp-block-buttons {
  gap: 0.9rem;
}

body.home .site-main,
body.front-page .site-main {
  padding-bottom: 3rem;
}

@media (max-width: 768px) {
  body.home .wp-block-group:not(.has-background),
  body.home .wp-block-columns:not(.has-background),
  body.front-page .wp-block-group:not(.has-background),
  body.front-page .wp-block-columns:not(.has-background) {
    border-radius: 22px;
  }

  body.home .wp-block-cover,
  body.front-page .wp-block-cover,
  body.home .wp-block-image img,
  body.front-page .wp-block-image img {
    border-radius: 20px;
  }
}

/* ---------- Homepage hero spotlight ---------- */

body.home .entry-content > *:first-child,
body.front-page .entry-content > *:first-child {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: clamp(2rem, 4vw, 4rem);
  border-radius: 36px;
  background:
    radial-gradient(circle at 12% 18%, rgba(255, 255, 255, 0.9), transparent 22%),
    radial-gradient(circle at 88% 22%, rgba(255, 224, 196, 0.6), transparent 18%),
    linear-gradient(135deg, rgba(117, 42, 10, 0.95) 0%, rgba(194, 97, 44, 0.92) 42%, rgba(244, 160, 93, 0.88) 100%);
  box-shadow: 0 30px 80px rgba(115, 49, 18, 0.28);
}

body.home .entry-content > *:first-child::before,
body.front-page .entry-content > *:first-child::before {
  content: "";
  position: absolute;
  inset: auto -8% -30% auto;
  width: min(34vw, 340px);
  aspect-ratio: 1;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.28) 0%, rgba(255, 255, 255, 0.06) 45%, transparent 72%);
  z-index: -1;
}

body.home .entry-content > *:first-child::after,
body.front-page .entry-content > *:first-child::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(120deg, rgba(255, 255, 255, 0.09), transparent 35%),
    repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.04) 0 2px, transparent 2px 18px);
  pointer-events: none;
  z-index: -1;
}

body.home .entry-content > *:first-child h1,
body.home .entry-content > *:first-child .wp-block-heading:first-child,
body.front-page .entry-content > *:first-child h1,
body.front-page .entry-content > *:first-child .wp-block-heading:first-child {
  color: #fff7f1;
  font-size: clamp(2.6rem, 6vw, 5.25rem);
  line-height: 0.92;
  letter-spacing: -0.05em;
  max-width: 10ch;
  margin-bottom: 1rem;
  text-shadow: 0 10px 30px rgba(74, 24, 3, 0.24);
}

body.home .entry-content > *:first-child h2,
body.home .entry-content > *:first-child h3,
body.front-page .entry-content > *:first-child h2,
body.front-page .entry-content > *:first-child h3 {
  color: rgba(255, 246, 238, 0.96);
}

body.home .entry-content > *:first-child p,
body.home .entry-content > *:first-child li,
body.front-page .entry-content > *:first-child p,
body.front-page .entry-content > *:first-child li {
  color: rgba(255, 243, 234, 0.88);
  font-size: clamp(1rem, 1.5vw, 1.15rem);
  max-width: 56ch;
}

body.home .entry-content > *:first-child .wp-block-buttons,
body.front-page .entry-content > *:first-child .wp-block-buttons {
  margin-top: 1.5rem;
}

body.home .entry-content > *:first-child .wp-block-button__link,
body.home .entry-content > *:first-child .ast-button,
body.home .entry-content > *:first-child .button,
body.front-page .entry-content > *:first-child .wp-block-button__link,
body.front-page .entry-content > *:first-child .ast-button,
body.front-page .entry-content > *:first-child .button {
  background: #fff7f1;
  color: #8d3f16;
  border-color: rgba(255, 255, 255, 0.65);
  box-shadow: 0 18px 36px rgba(73, 26, 8, 0.22);
}

body.home .entry-content > *:first-child .wp-block-button__link:hover,
body.home .entry-content > *:first-child .ast-button:hover,
body.home .entry-content > *:first-child .button:hover,
body.front-page .entry-content > *:first-child .wp-block-button__link:hover,
body.front-page .entry-content > *:first-child .ast-button:hover,
body.front-page .entry-content > *:first-child .button:hover {
  color: #6f2f10;
  background: #ffffff;
  box-shadow: 0 22px 42px rgba(73, 26, 8, 0.28);
}

body.home .entry-content > *:first-child img,
body.front-page .entry-content > *:first-child img {
  border-radius: 28px;
  box-shadow: 0 22px 44px rgba(58, 19, 5, 0.24);
}

body.home .entry-content > *:first-child .wp-block-media-text,
body.front-page .entry-content > *:first-child .wp-block-media-text {
  align-items: center;
}

body.home .entry-content > *:first-child .wp-block-column,
body.front-page .entry-content > *:first-child .wp-block-column {
  position: relative;
  z-index: 1;
}

@media (max-width: 768px) {
  body.home .entry-content > *:first-child,
  body.front-page .entry-content > *:first-child {
    padding: 1.5rem;
    border-radius: 28px;
  }

  body.home .entry-content > *:first-child h1,
  body.home .entry-content > *:first-child .wp-block-heading:first-child,
  body.front-page .entry-content > *:first-child h1,
  body.front-page .entry-content > *:first-child .wp-block-heading:first-child {
    max-width: 12ch;
  }
}

/* ---------- Custom homepage hero ---------- */

body.ok-has-custom-home-hero .site-content > .ast-container,
body.ok-has-custom-home-hero .site-main > .ast-container {
  row-gap: 0;
}

.ok-home-hero {
  position: relative;
  margin: 0 0 clamp(2rem, 4vw, 3.5rem);
  padding: clamp(1rem, 2vw, 1.5rem);
}

body.ok-has-custom-home-hero.ast-transparent-header .ok-home-hero,
body.ok-has-custom-home-hero.transparent-header .ok-home-hero {
  padding-top: clamp(7rem, 11vw, 9.25rem);
}

body.ok-has-custom-home-hero .main-header-bar,
body.ok-has-custom-home-hero .ast-primary-header-bar,
body.ok-has-custom-home-hero .ast-builder-grid-row-container {
  position: relative;
  z-index: 20;
}

.ok-home-hero__inner {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.9fr);
  align-items: center;
  gap: clamp(1.5rem, 3vw, 3.5rem);
  overflow: hidden;
  padding: clamp(1.5rem, 3vw, 2.75rem);
  border-radius: 36px;
  background:
    radial-gradient(circle at 12% 18%, rgba(255, 255, 255, 0.96), transparent 18%),
    radial-gradient(circle at 86% 14%, rgba(255, 202, 228, 0.42), transparent 20%),
    radial-gradient(circle at 74% 70%, rgba(255, 227, 239, 0.32), transparent 22%),
    linear-gradient(135deg, #7f124f 0%, #c5287a 38%, #f0529b 66%, #ff9fca 100%);
  box-shadow: 0 30px 80px rgba(173, 38, 104, 0.24);
  isolation: isolate;
}

.ok-home-hero__inner::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(115deg, rgba(255, 255, 255, 0.08), transparent 36%),
    repeating-linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0 2px, transparent 2px 18px);
  pointer-events: none;
}

.ok-home-hero__inner::after {
  content: "";
  position: absolute;
  top: -12%;
  right: -6%;
  width: min(30vw, 360px);
  aspect-ratio: 1;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(255, 235, 245, 0.42) 0%, rgba(255, 255, 255, 0.08) 44%, transparent 72%);
  filter: blur(8px);
  z-index: -1;
}

.ok-home-hero__content,
.ok-home-hero__visual {
  position: relative;
  z-index: 1;
}

.ok-home-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  margin-bottom: 1.1rem;
  padding: 0.5rem 0.9rem;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 999px;
  background: rgba(255, 248, 252, 0.14);
  color: #fff4fb;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  backdrop-filter: blur(10px);
}

.ok-home-hero__eyebrow::before {
  content: "";
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background: #ffd0e6;
  box-shadow: 0 0 0 8px rgba(255, 208, 230, 0.12);
}

.ok-home-hero h1 {
  margin: 0;
  color: #fff7fc;
  font-size: clamp(2.8rem, 5.6vw, 5.4rem);
  line-height: 0.94;
  letter-spacing: -0.07em;
  max-width: 11ch;
  text-wrap: balance;
  text-shadow: 0 16px 40px rgba(83, 9, 46, 0.24);
}

.ok-home-hero__copy {
  max-width: 52ch;
  margin: 1.25rem 0 0;
  color: rgba(255, 244, 251, 0.9);
  font-size: clamp(1rem, 1.45vw, 1.15rem);
  line-height: 1.7;
}

.ok-home-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.9rem;
  margin-top: 1.8rem;
}

.ok-home-hero__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.35rem;
  padding: 0.9rem 1.4rem;
  border-radius: 999px;
  font-size: 0.98rem;
  font-weight: 700;
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.ok-home-hero__button:hover {
  transform: translateY(-2px);
}

.ok-home-hero__button--primary {
  background: #fff8fc;
  color: #b72d73;
  box-shadow: 0 18px 36px rgba(107, 15, 59, 0.18);
}

.ok-home-hero__button--primary:hover {
  background: #ffffff;
  color: #9b1f60;
}

.ok-home-hero__button--secondary {
  border: 1px solid rgba(255, 242, 248, 0.4);
  background: rgba(255, 247, 251, 0.12);
  color: #fff7fc;
  backdrop-filter: blur(10px);
}

.ok-home-hero__button--secondary:hover {
  background: rgba(255, 247, 241, 0.18);
  color: #ffffff;
}

.ok-home-hero__stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.9rem;
  margin-top: 2rem;
}

.ok-home-hero__stat {
  min-height: 100%;
  padding: 1rem 1rem 1.1rem;
  border: 1px solid rgba(255, 241, 248, 0.2);
  border-radius: 24px;
  background: rgba(255, 250, 253, 0.12);
  backdrop-filter: blur(12px);
}

.ok-home-hero__stat strong,
.ok-home-hero__stat span {
  display: block;
}

.ok-home-hero__stat strong {
  color: #fff8fc;
  font-size: 1rem;
  font-weight: 700;
}

.ok-home-hero__stat span {
  margin-top: 0.4rem;
  color: rgba(255, 238, 247, 0.82);
  font-size: 0.92rem;
  line-height: 1.5;
}

.ok-home-hero__visual {
  display: grid;
  justify-items: end;
  gap: 1rem;
  min-height: 520px;
}

.ok-home-hero__image-shell {
  position: relative;
  overflow: hidden;
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.18);
  box-shadow: 0 28px 70px rgba(111, 19, 63, 0.2);
}

.ok-home-hero__image-shell::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), transparent 34%, rgba(62, 8, 37, 0.12));
  pointer-events: none;
}

.ok-home-hero__image-shell img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ok-home-hero__image-shell--main {
  width: min(100%, 520px);
  aspect-ratio: 0.86;
}

.ok-home-hero__image-shell--accent {
  position: absolute;
  left: -0.5rem;
  bottom: 1rem;
  width: clamp(150px, 26vw, 210px);
  aspect-ratio: 0.78;
  border: 8px solid rgba(255, 247, 252, 0.9);
  transform: rotate(-6deg);
}

.ok-home-hero__card {
  position: absolute;
  right: 1rem;
  top: 1.2rem;
  display: grid;
  gap: 0.35rem;
  max-width: 250px;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(255, 240, 248, 0.34);
  border-radius: 24px;
  background: rgba(104, 14, 59, 0.68);
  color: #fff7fc;
  box-shadow: 0 18px 48px rgba(88, 12, 51, 0.2);
  backdrop-filter: blur(12px);
}

.ok-home-hero__card-label {
  color: rgba(255, 215, 236, 0.92);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.ok-home-hero__card strong {
  font-size: 1.1rem;
  line-height: 1.2;
}

.ok-home-hero__card span:last-child {
  color: rgba(255, 235, 246, 0.82);
  font-size: 0.88rem;
  line-height: 1.5;
}

@media (max-width: 1024px) {
  .ok-home-hero__inner {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }

  .ok-home-hero__content {
    max-width: 100%;
  }

  .ok-home-hero__visual {
    justify-items: center;
    min-height: 480px;
  }

  .ok-home-hero__image-shell--main {
    width: min(100%, 540px);
  }

  .ok-home-hero__image-shell--accent {
    left: 1rem;
  }

  .ok-home-hero__card {
    right: 1rem;
  }
}

@media (max-width: 768px) {
  .ok-home-hero {
    padding: 0 0 1rem;
  }

  body.ok-has-custom-home-hero.ast-transparent-header .ok-home-hero,
  body.ok-has-custom-home-hero.transparent-header .ok-home-hero {
    padding-top: 6.5rem;
  }

  .ok-home-hero__inner {
    padding: 1.25rem 1rem 1rem;
    border-radius: 28px;
  }

  .ok-home-hero h1 {
    max-width: 100%;
    font-size: clamp(2.2rem, 11vw, 3.4rem);
    line-height: 0.98;
  }

  .ok-home-hero__copy {
    max-width: 100%;
    font-size: 1rem;
  }

  .ok-home-hero__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .ok-home-hero__button {
    width: 100%;
  }

  .ok-home-hero__stats {
    grid-template-columns: 1fr;
    margin-top: 1.4rem;
  }

  .ok-home-hero__image-shell--main {
    width: 100%;
    aspect-ratio: 0.96;
  }

  .ok-home-hero__visual {
    min-height: auto;
    width: 100%;
    gap: 0.85rem;
  }

  .ok-home-hero__image-shell--accent {
    position: relative;
    left: auto;
    bottom: auto;
    width: min(58%, 220px);
    justify-self: start;
    margin-top: -4.5rem;
    border-width: 6px;
  }

  .ok-home-hero__card {
    position: relative;
    right: auto;
    top: auto;
    order: -1;
    max-width: 100%;
    padding: 0.9rem;
    margin-bottom: 0.25rem;
  }
}

@media (max-width: 520px) {
  .ok-home-hero {
    margin-bottom: 1.5rem;
  }

  .ok-home-hero__inner {
    border-radius: 24px;
  }

  .ok-home-hero__eyebrow {
    font-size: 0.74rem;
    letter-spacing: 0.12em;
  }

  .ok-home-hero__image-shell {
    border-radius: 22px;
  }

  .ok-home-hero__image-shell--accent {
    width: 62%;
    margin-top: -3.75rem;
  }
}
