/* ==========================================================================
   LAKSHMI FOUNDATION — learning platform skin
   Re-points Tutor LMS and WooCommerce at the emblem palette and the site's type.
   Loaded only on course, dashboard, cart, checkout and account pages.
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Tutor's own design tokens, remapped
   -------------------------------------------------------------------------- */
body.lf.lf-learn,
body.lf.lf-shop,
body.lf .tutor-lms,
body.lf [class^="tutor-"],
body.lf [class*=" tutor-"]{
  --tutor-color-primary:        #0E5C46;
  --tutor-color-primary-rgb:    14,92,70;
  --tutor-color-primary-hover:  #0A4534;
  --tutor-color-secondary:      #414E49;
  --tutor-body-color:           #131C19;
  --tutor-body-color-rgb:       19,28,25;
  --tutor-color-black:          #131C19;
  --tutor-color-subdued:        #68766F;
  --tutor-color-hints:          #68766F;
  --tutor-color-muted:          #95A09A;
  --tutor-color-gray:           #E4EFE9;
  --tutor-color-gray-10:        #F0F7F3;
  --tutor-border-color:         rgba(19,28,25,.14);
  --tutor-color-success:        #16A97C;
  --tutor-color-success-rgb:    22,169,124;
  --tutor-color-warning:        #DCA94E;
  --tutor-color-warning-rgb:    220,169,78;
  --tutor-color-danger:         #C4650F;
  --tutor-color-danger-rgb:     196,101,15;
  --tutor-text-size:            16px;
  --tutor-table-border-radius:  16px;
}

/* --------------------------------------------------------------------------
   2. Type
   -------------------------------------------------------------------------- */
body.lf [class^="tutor-"],
body.lf [class*=" tutor-"],
body.lf .woocommerce{
  font-family:var(--body);
  letter-spacing:normal;
}
body.lf .tutor-fs-1,body.lf .tutor-fs-2,body.lf .tutor-fs-3,
body.lf .tutor-fs-4,body.lf .tutor-fs-5,body.lf .tutor-fs-6,
body.lf [class^="tutor-"] h1,body.lf [class^="tutor-"] h2,
body.lf [class^="tutor-"] h3,body.lf [class^="tutor-"] h4,
body.lf [class*=" tutor-"] h1,body.lf [class*=" tutor-"] h2,
body.lf [class*=" tutor-"] h3,body.lf [class*=" tutor-"] h4,
body.lf .woocommerce h1,body.lf .woocommerce h2,body.lf .woocommerce h3{
  font-family:var(--lf-display); font-weight:700; letter-spacing:-.022em; color:var(--ink);
}

/* --------------------------------------------------------------------------
   3. Layout: use the site's measure, not the plugin's
   -------------------------------------------------------------------------- */
body.lf .tutor-container{
  max-width:var(--wrap); padding-inline:var(--gutter); margin-inline:auto; width:100%;
}
body.lf.lf-learn .tutor-course-archive-results-wrapper,
body.lf.lf-learn .tutor-wrap,
body.lf.lf-shop .woocommerce{
  padding-block:clamp(48px,5.6vw,84px);
}
body.lf.lf-shop .woocommerce{
  max-width:var(--wrap-tight); padding-inline:var(--gutter); margin-inline:auto;
}

/* --------------------------------------------------------------------------
   4. Buttons — borrow the site's button, including the arrow nudge
   -------------------------------------------------------------------------- */
body.lf .tutor-btn,
body.lf .woocommerce a.button,
body.lf .woocommerce button.button,
body.lf .woocommerce input.button,
body.lf .woocommerce #respond input#submit{
  display:inline-flex; align-items:center; justify-content:center; gap:.55em;
  min-height:48px; padding:13px 26px; border-radius:var(--r-sm);
  font-family:var(--lf-display); font-weight:700; font-size:.95rem; letter-spacing:-.005em;
  border:1.5px solid transparent; line-height:1.25; text-align:center;
  background:var(--forest); color:var(--white);
  text-decoration:none !important; text-transform:none;
  transition:background var(--dur) var(--ease), color var(--dur) var(--ease),
             border-color var(--dur) var(--ease), transform var(--dur) var(--ease);
}
body.lf .tutor-btn:hover,
body.lf .woocommerce a.button:hover,
body.lf .woocommerce button.button:hover,
body.lf .woocommerce input.button:hover,
body.lf .woocommerce #respond input#submit:hover{
  background:var(--forest-700); color:var(--white); transform:translateY(-1px);
}
body.lf .tutor-btn-primary,
body.lf .woocommerce button.button.alt,
body.lf .woocommerce a.button.alt,
body.lf .woocommerce input.button.alt,
body.lf .woocommerce #place_order{
  background:var(--terra); color:var(--white); border-color:transparent;
}
body.lf .tutor-btn-primary:hover,
body.lf .woocommerce button.button.alt:hover,
body.lf .woocommerce a.button.alt:hover,
body.lf .woocommerce input.button.alt:hover,
body.lf .woocommerce #place_order:hover{ background:var(--terra-700); color:var(--white); }
body.lf .tutor-btn-outline-primary,
body.lf .tutor-btn-ghost{
  background:transparent; color:var(--forest); border-color:var(--line);
}
body.lf .tutor-btn-outline-primary:hover,
body.lf .tutor-btn-ghost:hover{ background:var(--sage-2); color:var(--forest-700); }
body.lf .tutor-btn-sm{ min-height:40px; padding:9px 18px; font-size:.88rem; }

/* --------------------------------------------------------------------------
   5. Course cards — the site's card language, not the plugin's
   -------------------------------------------------------------------------- */
body.lf .tutor-course-card,
body.lf .tutor-card{
  border:1px solid var(--line-soft); border-radius:var(--r-md);
  background:var(--white); box-shadow:none; overflow:hidden;
  transition:transform var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
body.lf .tutor-course-card:hover,
body.lf .tutor-card:hover{ transform:translateY(-3px); border-color:var(--line); }
body.lf .tutor-course-thumbnail img,
body.lf .tutor-card img{ border-radius:0; }
body.lf .tutor-course-name a{
  font-family:var(--lf-display); font-weight:700; color:var(--ink); letter-spacing:-.018em;
}
body.lf .tutor-course-name a:hover{ color:var(--forest); text-decoration:none; }
body.lf .tutor-course-price,
body.lf .tutor-course-price span{
  font-family:var(--lf-display); font-weight:700; color:var(--forest);
}
body.lf .tutor-ratings-stars i{ color:var(--gold); }

/* --------------------------------------------------------------------------
   6. Forms
   -------------------------------------------------------------------------- */
body.lf .tutor-form-control,
body.lf .tutor-input-group input,
body.lf .woocommerce form .form-row input.input-text,
body.lf .woocommerce form .form-row textarea,
body.lf .woocommerce form .form-row select,
body.lf .select2-container--default .select2-selection--single{
  border:1px solid var(--line); border-radius:var(--r-sm);
  padding:12px 14px; min-height:48px; font-family:var(--body); font-size:.97rem;
  color:var(--ink); background:var(--white);
}
body.lf .tutor-form-control:focus,
body.lf .woocommerce form .form-row input.input-text:focus{
  outline:2px solid var(--forest-400); outline-offset:1px; border-color:var(--forest-400);
}
body.lf .woocommerce form .form-row label,
body.lf .tutor-form-label{
  font-family:var(--lf-display); font-weight:600; font-size:.88rem; color:var(--ink-2);
}

/* --------------------------------------------------------------------------
   7. Dashboard
   -------------------------------------------------------------------------- */
body.lf .tutor-dashboard-permalinks a{
  font-family:var(--lf-display); font-weight:600; color:var(--ink-2); border-radius:var(--r-xs);
}
body.lf .tutor-dashboard-permalinks a:hover,
body.lf .tutor-dashboard-permalinks .active a{
  background:var(--sage-2); color:var(--forest);
}
body.lf .tutor-dashboard-content,
body.lf .tutor-dashboard-inline-links{ font-size:.97rem; }

/* --------------------------------------------------------------------------
   8. WooCommerce trimmings we do not want
   -------------------------------------------------------------------------- */
body.lf .woocommerce-breadcrumb,
body.lf .woocommerce-product-rating,
body.lf .woocommerce-message .button,
body.lf .wc-block-components-notice-banner__content .wc-forward{ }
body.lf .woocommerce-info,
body.lf .woocommerce-message,
body.lf .woocommerce-error{
  border-top-color:var(--forest); border-radius:var(--r-sm);
  background:var(--sage-2); font-size:.94rem;
}
body.lf .woocommerce-info::before,
body.lf .woocommerce-message::before{ color:var(--forest); }
body.lf .woocommerce table.shop_table{
  border:1px solid var(--line-soft); border-radius:var(--r-md); border-collapse:separate;
}
body.lf .woocommerce table.shop_table th{
  font-family:var(--lf-display); font-weight:700; color:var(--ink);
}

/* --------------------------------------------------------------------------
   9. Archive header we inject ourselves
   -------------------------------------------------------------------------- */
.lf-lms-head{ background:var(--forest); color:rgba(255,255,255,.82); padding:clamp(48px,5.6vw,84px) 0 clamp(40px,4.6vw,64px); }
.lf-lms-head h1{ color:var(--white); margin-bottom:14px; }
.lf-lms-head p{ max-width:640px; font-size:clamp(1.02rem,.98rem + .3vw,1.18rem); line-height:1.62; margin-bottom:0; }
.lf-lms-head .lf-eyebrow{ color:var(--gold); }
.lf-lms-head .lf-eyebrow::before{ background:var(--gold); }
.lf-lms-note{
  margin-top:22px; padding:16px 20px; border-radius:var(--r-sm);
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.16);
  font-size:.92rem; color:rgba(255,255,255,.78); max-width:720px;
}
.lf-lms-note a{ color:var(--gold); font-weight:600; text-decoration:underline; }

/* --------------------------------------------------------------------------
   10. Mobile
   -------------------------------------------------------------------------- */
@media (max-width:900px){
  body.lf .tutor-container{ padding-inline:20px; }
  body.lf .tutor-btn,
  body.lf .woocommerce a.button,
  body.lf .woocommerce button.button{ width:auto; }
}
@media (max-width:640px){
  body.lf .tutor-course-card{ border-radius:var(--r-sm); }
  body.lf .woocommerce table.shop_table{ font-size:.9rem; }
  .lf-lms-note{ font-size:.88rem; }
}

/* ==========================================================================
   11. CATALOGUE — corrections
   `body.lf h1` (0,1,1) outranked `.lf-lms-head h1` (0,1,1, but earlier in the
   sheet), so the catalogue title rendered near-black on dark green. Everything
   below is re-asserted at `body.lf` specificity.
   ========================================================================== */

body.lf .lf-lms-head{
  background:var(--forest); color:rgba(255,255,255,.82);
  padding:clamp(44px,5vw,76px) 0 clamp(40px,4.6vw,64px);
  position:relative; overflow:hidden;
}
body.lf .lf-lms-head::after{
  content:""; position:absolute; inset:auto -120px -220px auto;
  width:460px; height:460px; border-radius:50%;
  background:radial-gradient(circle at 30% 30%, rgba(220,169,78,.16), transparent 62%);
  pointer-events:none;
}
body.lf .lf-lms-head > .lf-container{ position:relative; z-index:1; }
body.lf .lf-lms-head h1,
body.lf .lf-lms-head .lf-h1{ color:var(--white); margin-bottom:14px; }
body.lf .lf-lms-head p{
  max-width:640px; color:rgba(255,255,255,.80);
  font-size:clamp(1.02rem,.98rem + .3vw,1.16rem); line-height:1.62; margin-bottom:0;
}
body.lf .lf-lms-head .lf-eyebrow{ color:var(--gold); }
body.lf .lf-lms-head .lf-eyebrow::before{ background:var(--gold); }
body.lf .lf-lms-note{
  margin-top:24px; padding:16px 20px; border-radius:var(--r-sm);
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.17);
  font-size:.92rem; color:rgba(255,255,255,.78); max-width:720px;
}
body.lf .lf-lms-note strong{ color:var(--white); }
body.lf .lf-lms-note a{ color:var(--gold); font-weight:600; text-decoration:underline; }
body.lf .lf-lms-note a:hover{ color:var(--white); }

/* --------------------------------------------------------------------------
   12. Sort bar
   -------------------------------------------------------------------------- */
body.lf .tutor-course-filter{
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
  text-align:left !important;
  padding-bottom:18px; margin-bottom:30px;
  border-bottom:1px solid var(--line-soft);
}
body.lf .tutor-course-filter::before{
  content:"All courses"; margin-right:auto;
  font-family:var(--lf-display); font-weight:700; font-size:1.06rem;
  letter-spacing:-.018em; color:var(--ink);
}
body.lf .tutor-course-filter form{ display:inline-block; }
body.lf .tutor-course-filter select{
  min-height:44px; padding:10px 40px 10px 16px;
  border:1px solid var(--line); border-radius:var(--r-sm);
  background:var(--white); color:var(--ink-2);
  font-family:var(--body); font-size:.92rem; line-height:1.3;
  appearance:none; -webkit-appearance:none;
  background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' fill='none' stroke='%2368766F' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 15px center; background-size:11px 8px;
}
body.lf .tutor-course-filter select:focus{
  outline:2px solid var(--forest-400); outline-offset:1px; border-color:var(--forest-400);
}
body.lf .tutor-course-filter + br{ display:none; }

/* --------------------------------------------------------------------------
   13. Course cards — remove the plugin furniture we do not use
   -------------------------------------------------------------------------- */
body.lf .tutor-course-bookmark{ display:none !important; }
body.lf .tutor-course-ratings{ display:none !important; }
body.lf .tutor-meta.tutor-mt-auto > div:first-child{ display:none; }

body.lf .tutor-course-list.tutor-grid{ gap:26px; }
body.lf .tutor-card.tutor-course-card{
  display:flex; flex-direction:column; height:100%;
  border:1px solid var(--line-soft); border-radius:var(--r-md); background:var(--white);
}
body.lf .tutor-course-card .tutor-card-body{
  display:flex; flex-direction:column; flex:1 1 auto; padding:22px 22px 6px;
}
body.lf .tutor-course-card .tutor-card-footer{
  padding:0 22px 22px; border-top:0; background:transparent;
}
body.lf .tutor-course-card .tutor-course-name{
  font-size:1.12rem; line-height:1.34; margin:0 0 10px;
}
body.lf .tutor-course-card .tutor-course-name a{ color:var(--ink); }
body.lf .tutor-course-card .tutor-meta{
  font-family:var(--body); font-size:.88rem; color:var(--ink-3,#68766F);
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
}
body.lf .tutor-course-card .tutor-meta .tutor-meta-icon{ color:var(--forest-400,#6FA893); }
body.lf .tutor-course-card a.lf-catlink{
  display:inline-flex; align-items:center;
  padding:5px 12px; border-radius:999px;
  background:var(--sage-2); color:var(--forest) !important;
  font-family:var(--lf-display); font-weight:600; font-size:.78rem;
  letter-spacing:.01em; text-decoration:none;
}
body.lf .tutor-course-card a.lf-catlink:hover{ background:var(--sage,#D9EAE1); }

/* the enrol button is the card's primary action — make it look like one */
body.lf .tutor-course-list-btn .tutor-btn,
body.lf .tutor-course-list-btn .tutor-btn-outline-primary{
  width:100%; background:var(--forest); color:var(--white); border-color:transparent;
}
body.lf .tutor-course-list-btn .tutor-btn:hover,
body.lf .tutor-course-list-btn .tutor-btn-outline-primary:hover{
  background:var(--forest-700); color:var(--white);
}

/* --------------------------------------------------------------------------
   14. Catalogue responsive
   -------------------------------------------------------------------------- */
@media (max-width:1024px){
  body.lf .tutor-course-list.tutor-grid.tutor-grid-3{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:720px){
  body.lf .tutor-course-list.tutor-grid.tutor-grid-3,
  body.lf .tutor-course-list.tutor-grid{ grid-template-columns:minmax(0,1fr); gap:20px; }
  body.lf .tutor-course-filter{ gap:10px; padding-bottom:14px; margin-bottom:22px; }
  body.lf .tutor-course-filter::before{ width:100%; margin-right:0; font-size:1rem; }
  body.lf .tutor-course-filter form,
  body.lf .tutor-course-filter select{ width:100%; }
  body.lf .tutor-course-card .tutor-card-body{ padding:18px 18px 6px; }
  body.lf .tutor-course-card .tutor-card-footer{ padding:0 18px 18px; }
}

body.lf .tutor-course-card .tutor-meta.tutor-mt-12{ display:none; }
body.lf .tutor-course-card .tutor-course-name{ margin-top:2px; }
body.lf .tutor-course-card .tutor-meta.tutor-mt-auto{ margin-top:auto; padding-top:6px; }

/* --------------------------------------------------------------------------
   15. Catalogue polish
   -------------------------------------------------------------------------- */
body.lf .tutor-course-card .tutor-course-thumbnail{ overflow:hidden; }
body.lf .tutor-course-card .tutor-course-thumbnail img{
  transition:transform .5s cubic-bezier(.22,.61,.36,1);
}
body.lf .tutor-course-card:hover .tutor-course-thumbnail img{ transform:scale(1.04); }
@media (max-width:720px){
  body.lf .lf-lms-head::after{ display:none; }
  body.lf .lf-lms-head{ padding-block:38px 34px; }
}

/* --------------------------------------------------------------------------
   16. Course detail page
   The plugin's course page arrives with its own furniture: an empty five-star
   row before anyone has reviewed, a description clipped behind a white fade
   on our cream ground, and a grid that eats 12px of the site gutter on a
   phone. This section puts the page back into the site's language.
   -------------------------------------------------------------------------- */

/* A header band, so the title reads as a page rather than as raw output. */
body.lf .tutor-course-details-page .tutor-course-details-header{
  background:var(--cream);
  border-bottom:1px solid var(--line-soft);
  padding-block:26px 30px;
  margin-bottom:30px;
}
body.lf .tutor-course-details-page .tutor-course-details-header .tutor-container{
  position:relative;
}
body.lf .tutor-course-details-title{
  font-family:var(--lf-display);
  font-size:clamp(1.85rem,3.1vw,2.6rem);
  line-height:1.12;
  letter-spacing:-.02em;
  color:var(--ink);
  max-width:22ch;
  margin:0;
}

/* Five empty stars say nothing. Tutor leaves the modifier class bare when
   there is no average yet, which is exactly what we can select on. */
body.lf .tutor-course-details-ratings > [class$="tutor-ratings-"]{ display:none; }

/* The description is short; the clamp only hid the fee policy mid-sentence,
   behind a white gradient that did not match the cream ground either. */
body.lf .tutor-course-details-content.tutor-toggle-more-collapsed{
  height:auto !important;
  max-height:none !important;
  overflow:visible;
}
body.lf .tutor-course-details-content.tutor-toggle-more-collapsed::before{ display:none; }
body.lf .tutor-course-details-tab .tutor-btn-show-more{ display:none; }

/* Section headings inside the description. */
body.lf .tutor-course-details-content h3,
body.lf .tutor-course-details-widget-title{
  font-family:var(--lf-display);
  font-size:1.15rem;
  font-weight:700;
  letter-spacing:-.01em;
  color:var(--ink);
  margin-block:28px 10px;
}

/* Sidebar: price card and widgets. */
body.lf .tutor-course-details-page .tutor-card{
  border:1px solid var(--line-soft);
  border-radius:var(--r-md);
  box-shadow:none;
}
body.lf .tutor-course-price,
body.lf .tutor-course-details-page .tutor-fs-4.tutor-fw-medium{
  font-family:var(--lf-display);
  font-weight:700;
  color:var(--forest);
}

/* Curriculum: give each module the site's card edge. */
body.lf .tutor-accordion-item-header{
  font-family:var(--lf-display);
  font-weight:700;
  color:var(--ink);
  background:var(--sage-2);
  border-radius:var(--r-sm) var(--r-sm) 0 0;
}
body.lf .tutor-course-content-list-item:hover{ background:var(--sage-2); }

/* Meta that is honestly still zero reads as a quiet note, not a headline. */
body.lf .tutor-course-details-page .tutor-meta > *{ color:var(--ink-3); }

@media (max-width:600px){
  /* Tutor's row pulls 12px back out of the container; put it back so the
     course page lines up with every other page on a phone. */
  body.lf .tutor-course-details-page .tutor-container{
    padding-inline:calc(var(--gutter) + 12px);
  }
  /* Title, categories, then the two ghost buttons on their own line: at
     390px they could not share a row with the category link. */
  body.lf .tutor-course-details-header .tutor-col-auto{
    width:100%; flex:0 0 100%; max-width:100%;
  }
  body.lf .tutor-course-details-actions{
    display:flex; flex-wrap:wrap; gap:10px;
    width:100%; justify-content:flex-start; margin-top:14px;
  }
  body.lf .tutor-course-details-header{ padding-block:26px 24px; margin-bottom:26px; }
}
