/*
Theme Name: SLP Study Center
Theme URI: https://slpstudycenter.com/
Author: SLP Study Center
Description: Custom editorial multi-page theme for the SLP Praxis 5331 preparation project.
Version: 1.4.24
Requires at least: 6.5
Requires PHP: 7.4
Text Domain: slp-praxis-review
*/

.wp-fallback {
  width: min(1160px, calc(100% - 40px));
  margin: 52px auto 100px;
  font-family: "Source Sans 3", system-ui, sans-serif;
  line-height: 1.6;
  color: #12233f;
}

.slp-native-post { background: #fffdf9; color: #12233f; }
.slp-native-post-preview-bar { display: flex; justify-content: center; gap: 10px; padding: 11px 22px; border-bottom: 1px solid #e7c15f; background: #fff4cf; color: #12233f; font-size: 14px; }
.slp-native-post-preview-bar span, .slp-native-post-label { color: #7d213d; font-size: 13px; font-weight: 820; letter-spacing: .1em; text-transform: uppercase; }
.slp-native-post-header { padding: clamp(70px, 8vw, 126px) 24px 54px; border-bottom: 1px solid #ded7ce; background: #fbf8f3; }
.slp-native-post-header-inner { width: min(100%, 1080px); margin: 0 auto; }
.slp-native-post-header h1 { max-width: 980px; margin: 17px 0 27px; color: #12233f; font-family: Georgia, "Times New Roman", serif; font-size: clamp(50px, 6.2vw, 92px); font-weight: 600; letter-spacing: -.035em; line-height: .98; }
.slp-native-post-meta { display: flex; flex-wrap: wrap; gap: 11px 25px; color: #58667a; font-size: 15px; }
.slp-native-post-meta span + span { position: relative; }
.slp-native-post-meta span + span::before { position: absolute; top: 50%; left: -14px; width: 4px; height: 4px; border-radius: 50%; background: #7d213d; content: ""; transform: translateY(-50%); }
.slp-native-post-shell { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.slp-native-post-featured { margin: 0; padding: clamp(28px, 4vw, 54px) 0 0; }
.slp-native-post-featured img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; border: 1px solid #ded7ce; object-fit: cover; }
.slp-native-post-featured figcaption { margin-top: 10px; color: #58667a; font-size: 13px; }
.slp-native-post-body-layout { display: grid; grid-template-columns: minmax(0, 1fr) 285px; gap: clamp(44px, 7vw, 104px); align-items: start; padding: clamp(50px, 7vw, 96px) 0 110px; }
.slp-native-post-content { min-width: 0; color: #283750; font-size: 18px; line-height: 1.76; }
.slp-native-post-content > :first-child { margin-top: 0; }
.slp-native-post-content h2 { margin: 52px 0 15px; color: #12233f; font-family: Georgia, "Times New Roman", serif; font-size: clamp(34px, 4vw, 52px); font-weight: 600; line-height: 1.04; }
.slp-native-post-content h3 { margin: 34px 0 11px; color: #7d213d; font-family: Georgia, "Times New Roman", serif; font-size: 29px; font-weight: 600; line-height: 1.12; }
.slp-native-post-content p { margin: 0 0 20px; }
.slp-native-post-content ul, .slp-native-post-content ol { margin: 0 0 26px; padding-left: 28px; }
.slp-native-post-content li { margin: 7px 0; padding-left: 5px; }
.slp-native-post-content a { color: #7d213d; text-decoration: underline; text-underline-offset: 3px; }
.slp-native-post-content strong { color: #12233f; font-weight: 780; }
.slp-native-post-content blockquote { margin: 30px 0; padding: 22px 25px; color: #12233f; border-left: 4px solid #7d213d; background: #eef3ff; }
.slp-native-post-content figure, .slp-native-post-content .wp-block-image, .slp-native-post-content .slp-learning-figure { margin: 36px 0; }
.slp-native-post-content figure img, .slp-native-post-content .wp-block-image img, .slp-native-post-content .slp-learning-figure img { display: block; width: 100%; height: auto; border: 1px solid #ded7ce; }
.slp-native-post-content figcaption { margin-top: 9px; color: #58667a; font-size: 13px; line-height: 1.45; }
.slp-native-post-content table { width: 100%; margin: 28px 0; border-collapse: collapse; font-size: 16px; }
.slp-native-post-content th, .slp-native-post-content td { padding: 11px 12px; border: 1px solid #ded7ce; text-align: left; vertical-align: top; }
.slp-native-post-content th { color: #12233f; background: #fbf8f3; }
.slp-native-post-aside { position: sticky; top: 115px; display: grid; gap: 33px; }
.slp-native-post-aside > div { padding: 27px; border-top: 4px solid #7d213d; background: #fbf8f3; }
.slp-native-post-aside h2 { margin: 10px 0 13px; color: #12233f; font-family: Georgia, "Times New Roman", serif; font-size: 31px; font-weight: 600; line-height: 1.08; }
.slp-native-post-aside p { margin: 0 0 23px; color: #58667a; font-size: 15px; line-height: 1.6; }
.slp-native-post-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; min-height: 48px; padding: 0 17px; border: 1px solid #164dcc; background: #164dcc; color: #fff !important; font-weight: 760; text-decoration: none !important; }
.slp-native-post-links { display: grid; gap: 13px; }
.slp-native-post-links a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 11px; color: #7d213d; border-bottom: 1px solid #ded7ce; font-size: 15px; font-weight: 720; text-decoration: none; }
.slp-native-post-pages { margin-top: 32px; padding-top: 20px; border-top: 1px solid #ded7ce; }
.slp-native-post-empty { width: min(1160px, calc(100% - 48px)); min-height: 60vh; margin: 0 auto; padding: 100px 0; }
.slp-native-post-empty h1 { max-width: 800px; margin: 16px 0; font-family: Georgia, "Times New Roman", serif; font-size: clamp(46px, 6vw, 78px); line-height: 1; }
.slp-native-post-empty p { margin-bottom: 28px; color: #58667a; font-size: 17px; }

.slp-commerce-header {
  min-height: 88px;
  padding: 0 max(24px, calc((100vw - 1320px) / 2));
  border-bottom: 1px solid #ded7ce;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  background: #fffdf9;
  font-family: "Source Sans 3", system-ui, sans-serif;
}

.slp-commerce-brand {
  color: #12233f;
  text-decoration: none;
  letter-spacing: .13em;
  font-weight: 700;
}

.slp-commerce-brand span { color: #7d213d; }
.slp-commerce-nav { display: flex; gap: 22px; }
.slp-commerce-header a { color: #12233f; text-decoration: none; font-weight: 700; }
.slp-commerce-actions { display: flex; align-items: center; gap: 14px; }
.slp-login-status { display: inline-flex; align-items: center; gap: 7px; color: #526177; font-size: 14px; font-weight: 700; }
.slp-login-status::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: #1f9d68; box-shadow: 0 0 0 3px #dff4ea; }
.slp-commerce-account-menu { position: relative; }
.slp-commerce-account-menu summary { min-height: 46px; display: inline-flex; align-items: center; padding: 0 14px; border-bottom: 2px solid transparent; color: #12233f; cursor: pointer; font-weight: 750; list-style: none; }
.slp-commerce-account-menu summary::-webkit-details-marker { display: none; }
.slp-commerce-account-menu[open] summary { border-bottom-color: #7d213d; }
.slp-commerce-account-menu > div { position: absolute; z-index: 20; top: calc(100% + 10px); right: 0; display: grid; min-width: 210px; padding: 9px; border: 1px solid #ded7ce; background: #fffdf9; box-shadow: 0 18px 42px rgba(9, 28, 60, .14); }
.slp-commerce-account-menu > div a { padding: 11px 12px; color: #34435a; }
.slp-commerce-account-menu > div a:hover { color: #7d213d; background: #fbf8f3; }
.slp-header-button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 20px; border: 1px solid #164dcc; background: #164dcc; color: #fff !important; }
.slp-header-button-outline { border-color: #7d213d; background: transparent; color: #7d213d !important; }
.slp-cart-link { padding-left: 4px; }

.woocommerce-account .wp-fallback > article > h1 { margin-bottom: 34px; }
.woocommerce-account .woocommerce { display: grid; grid-template-columns: 245px minmax(0, 1fr); gap: 44px; align-items: start; }
.woocommerce-account .woocommerce::before,
.woocommerce-account .woocommerce::after { display: none; }
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content { float: none; width: auto; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { display: grid; gap: 8px; margin: 0; padding: 14px; border: 1px solid #ded7ce; background: #fbf8f3; list-style: none; }
.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display: flex; align-items: center; min-height: 48px; padding: 11px 14px; border-left: 3px solid transparent; color: #34435a; text-decoration: none; font-weight: 750; transition: background .18s ease, color .18s ease, border-color .18s ease; }
.woocommerce-account .woocommerce-MyAccount-navigation a:hover { border-left-color: #164dcc; background: #eef3ff; color: #123e9d; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { border-left-color: #7d213d; background: #fff; color: #7d213d; }
.woocommerce-account .woocommerce-MyAccount-content { min-width: 0; }
.woocommerce-account .woocommerce-MyAccount-content > p:first-child { margin-top: 0; }
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-message { border: 1px solid #a8c1eb; border-top: 4px solid #2077b2; background: #f5f8fd; }
.woocommerce-account .woocommerce-MyAccount-content table { border-collapse: collapse; width: 100%; }
.woocommerce-account .woocommerce-MyAccount-content table th,
.woocommerce-account .woocommerce-MyAccount-content table td { padding: 14px; border: 1px solid #ded7ce; text-align: left; }
.slp-learning-account-actions .button { border: 1px solid #164dcc !important; background: #164dcc !important; color: #fff !important; }
.slp-learning-account-actions .button + .button { border-color: #7d213d !important; background: transparent !important; color: #7d213d !important; }

.woocommerce .button,
.woocommerce button.button,
.woocommerce input.button {
  border-radius: 2px;
  background: #164dcc;
  color: #fff;
  padding: .85rem 1.25rem;
  font-weight: 750;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce .select2-container .select2-selection--single {
  border: 1px solid #b9b1a7;
  min-height: 48px;
  padding: .65rem .8rem;
  background: #fff;
}

@media (max-width: 640px) {
  .slp-commerce-header { align-items: flex-start; flex-direction: column; padding-block: 18px; }
  .slp-commerce-nav { gap: 14px; flex-wrap: wrap; }
  .slp-commerce-actions { width: 100%; flex-wrap: wrap; }
  .woocommerce-account .woocommerce { grid-template-columns: 1fr; gap: 26px; }
  .woocommerce-account .woocommerce-MyAccount-navigation ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .slp-native-post-preview-bar { align-items: center; flex-direction: column; gap: 3px; text-align: center; }
  .slp-native-post-header { padding-block: 62px 42px; }
  .slp-native-post-header h1 { font-size: 51px; }
  .slp-native-post-shell { width: min(100% - 44px, 1180px); }
  .slp-native-post-body-layout { grid-template-columns: 1fr; padding-bottom: 70px; }
  .slp-native-post-aside { position: static; }
  .slp-native-post-content { font-size: 17px; }
  .slp-native-post-content h2 { font-size: 40px; }
  .slp-native-post-content h3 { font-size: 27px; }
}

@media (max-width: 1120px) {
  .slp-commerce-nav { display: none; }
}
