/*
 Theme Name: Astra Child
 Theme URI: https://wpastra.com/
 Description: Child theme for Astra.
 Author: Taliia Grace
 Template: astra
 Version: 1.0.0
 Text Domain: astra-child
*/

/* =========================
   TOKENS
   ========================= */
:root{
  --pc-navy:#183942;
  --pc-teal:#2F6D71;
  --pc-cream:#F9F3E6;
  --pc-gold:#C4A047;
  --pc-emerald:#50C878;
  --pc-burgundy:#7B2C25;
  --pc-ink:#1C1C1C;
  --pc-ivory:#F7F3E9;

  --pc-font-ui:Poppins,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  --pc-font-display:"Playfair Display",Georgia,serif;
  --pc-font-body:Lora,Georgia,"Times New Roman",serif;

  --pc-radius:12px;
  --pc-gap:14px;
}

/* =========================
   GLOBAL BASE
   ========================= */
html,body{
  background:transparent!important;
  color:var(--pc-ink);
  font-family:var(--pc-font-body);
  line-height:1.6;
}
.ast-container{background:transparent;max-width:100%}
h1,h2,h3,h4,h5,h6{font-family:var(--pc-font-display);font-weight:600;letter-spacing:.3px}
button,input[type="submit"],.wp-element-button{
  border-radius:8px;padding:.6em 1.2em;font-family:var(--pc-font-ui);font-weight:600;border:2px solid transparent;background:initial;color:inherit
}
.elementor-widget-image img{background:none;box-shadow:none;border:0}

/* =========================
   HEADER & FOOTER STRUCTURE
   ========================= */
.ast-primary-header-bar,.ast-above-header,.ast-below-header,.elementor-location-header{box-shadow:none;border:0}
.site-footer,.ast-footer-bar,.elementor-location-footer{box-shadow:none;border:0}

/* =========================
   HEADER & HERO BEHAVIOR
   ========================= */

/* Header stays normal (not sticky) */
.elementor-location-header{
  position:static;
  z-index:3;
}

/* HERO is never sticky/fixed */
.pc-hero,
.pc-hero .elementor-container,
.pc-hero .elementor-widget-wrap,
.pc-hero .elementor-section,
.pc-hero .elementor-background-overlay{
  position:static !important;
  top:auto !important;
  bottom:auto !important;
  transform:none !important;
  will-change:auto !important;
  z-index:auto !important;
}

/* --- NO-ZOOM GUARDS (do NOT touch size; only stop transforms) --- */
.pc-hero .elementor-motion-effects-container,
.pc-hero .elementor-motion-effects-layer,
.pc-hero .elementor-background-slideshow__slide,
.pc-hero .swiper-slide-bg{
  transform:none !important;
  animation:none !important;
  transition:none !important;
  will-change:auto !important;
}
/* If any inline transform slipped onto hero or its direct containers, neutralize it */
.pc-hero[style*="transform"],
.pc-hero .e-con[style*="transform"]{
  transform:none !important;
}

/* Ensure hero sits below header normally */
.pc-hero{ margin-top:0 !important; }

/* Admin bar offsets (harmless if header stays static) */
@media (max-width:782px){ body.admin-bar .elementor-location-header { top:46px; } }
@media (min-width:783px){ body.admin-bar .elementor-location-header { top:32px; } }

/* =========================
   UTILITIES
   ========================= */
.pc-pill a,.pc-pill .elementor-item{
  display:inline-block;padding:10px 16px;border-radius:9999px;line-height:1;text-decoration:none;
  transition:background .2s ease,box-shadow .2s ease,transform .06s ease
}
.pc-soft-shadow{box-shadow:0 6px 18px rgba(0,0,0,.08)}
.pc-card{border-radius:var(--pc-radius);padding:clamp(16px,2.5vw,28px);background:#fff;border:1px solid rgba(0,0,0,.06)}
.pc-gap{gap:var(--pc-gap)}
.pc-border{border:1px solid rgba(0,0,0,.15)}
.pc-border-current{border:1px solid currentColor;opacity:.92}
@media (max-width:1024px){.pc-hide-md{display:none!important}}

/* =========================
   LIFTERLMS & MISC
   ========================= */
.llms-form-field input,.llms-form-field select,.llms-form-field textarea{
  border-radius:8px;border:1px solid rgba(0,0,0,.15);padding:.6em .8em;box-shadow:none
}
.elementor-section{margin:0}
svg{fill:currentColor}

/* Optional: custom “Course Instructor” replacement */
.single-course .llms-instructors h3,
.single-course .llms-course-instructors h3,
.single-course .llms-instructor-wrapper h3,
.single-course h3.llms-instructor-heading{
  font-size:0 !important; line-height:0 !important; position:relative; margin-bottom:.75rem;
}
.single-course .llms-instructors h3::after,
.single-course .llms-course-instructors h3::after,
.single-course .llms-instructor-wrapper h3::after,
.single-course h3.llms-instructor-heading::after{
  content: "Book #1: \"The Greatest Souvenir\"";
  display:block; font-size:1.35rem; line-height:1.2; font-weight:700;
  font-family:"Playfair Display", Georgia, serif; color: var(--pc-gold);
}

/* Lifter palette */
.single-course .llms-syllabus .llms-section-title,
.single-course .llms-syllabus .llms-section-header,
.single-course .llms-syllabus .llms-section-header h3,
.single-course .llms-syllabus .llms-section > h3,
.single-course .llms-course-outline .section-title,
.llms-syllabus .llms-section-title,
.llms-course-outline .section-title{
  background: var(--pc-teal) !important; color: var(--pc-cream) !important;
  border:none !important; padding:10px 14px !important; text-transform:uppercase; letter-spacing:.5px;
  font-family: var(--pc-font-ui);
}
.single-course .llms-syllabus .llms-lesson-preview,
.llms-syllabus .llms-lesson-preview{ background:#fff !important; border:1px solid rgba(0,0,0,.06) !important; }
.single-course .llms-syllabus .llms-lesson-preview a,
.llms-syllabus .llms-lesson-preview a{ color: var(--pc-ink) !important; text-decoration:none !important; }
.single-course .llms-syllabus .llms-lesson-preview a:hover,
.llms-syllabus .llms-lesson-preview a:hover{ color: var(--pc-gold) !important; }
.single-course .llms-syllabus .llms-section,
.llms-syllabus .llms-section{ margin:18px 0 !important; box-shadow:0 1px 0 rgba(0,0,0,.05) !important; }
.single-course .llms-syllabus .llms-lesson-preview [class*="free"],
.single-course .llms-syllabus .llms-lesson-preview .llms-free,
.llms-syllabus .llms-lesson-preview [class*="free"],
.llms-syllabus .llms-lesson-preview .llms-free{
  background: var(--pc-gold) !important; color: var(--pc-navy) !important;
  border-radius:9999px !important; padding:2px 8px !important; font-size:12px !important; line-height:1.2 !important;
}
/* Remove comments/meta on courses & lessons */
.single-course .comments-area,.single-lesson .comments-area,
.single-course #comments,.single-lesson #comments,
.single-course .comment-respond,.single-lesson .comment-respond,
.single-course #reply-title,.single-lesson #reply-title{ display:none !important; }
.single-course .entry-header .entry-meta,.single-course .ast-single-post-order .entry-meta{ display:none !important; }
.single-lesson .entry-meta,.single-lesson .posted-on,.single-lesson .byline,.single-lesson .comments-link,
.single-lesson .entry-header .ast-meta-category,.single-lesson .entry-header .entry-meta{ display:none !important; }
.single-lesson .entry-header{ margin-bottom:0 !important; padding-bottom:0 !important; }

/* =========================
   COFFEE BUTTON (mobile)
   ========================= */
@media (max-width:1024px){
  /* keep Elementor hamburger present but invisible; coffee FAB handles UX */
  .pc-header-mobile .elementor-menu-toggle{
    position:absolute !important;
    left:-9999px !important;
    width:1px !important;
    height:1px !important;
    opacity:0 !important;
    pointer-events:none !important;
  }
} /* ✅ properly close media query */

/* =========================
   COFFEE MUG FLOAT BUTTON
   ========================= */
#pc-fab {
  position: fixed;
  bottom: 28px;
  right: 20px;
  width: 58px;
  height: 58px;
  background: url('https://piedmontandcompany.com/wp-content/uploads/2025/05/piedmont-and-company-teal-coffee-mug-icon-steam.png')
              center/contain no-repeat;
  border-radius: 12px;
  box-shadow: 0 6px 18px rgba(0,0,0,.25);
  cursor: pointer;
  z-index: 99999;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .25s ease, visibility .25s ease, transform .2s ease;
}

body.pc-show-fab #pc-fab {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  animation: pcFloatMug 3s ease-in-out infinite;
}

@keyframes pcFloatMug {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}

body.logged-in #pc-fab{ top:112px; }
#pc-fab:active{ transform:scale(.96); }

/* =========================
   HERO FIXES (no zoom)
   ========================= */
.elementor-location-header .elementor-section,
.elementor-location-header .e-con,
.pc-hero,
.pc-hero .e-con,
.pc-hero .elementor-section,
.pc-hero .elementor-motion-effects-container,
.pc-hero .elementor-motion-effects-layer,
.pc-hero .elementor-background-slideshow__slide,
.pc-hero .swiper-slide-bg,
.pc-hero .elementor-ken-burns {
  transform: none !important;
  animation: none !important;
}

.pc-hero .elementor-ken-burns,
.pc-hero .elementor-ken-burns--active {
  animation: none !important;
}

.pc-hero,
.pc-hero .elementor-container,
.pc-hero .elementor-column,
.pc-hero .elementor-widget,
.pc-hero .elementor-background-overlay,
.pc-hero .elementor-motion-effects-layer,
.pc-hero .elementor-motion-effects-container,
.pc-hero [data-settings*="background_background"],
.pc-hero [style*="transform"],
.pc-hero img {
  transform: none !important;
  scale: 1 !important;
  animation: none !important;
  transition: none !important;
}

.pc-hero {
  background-size: cover !important;
  background-position: center !important;
}

/* =========================
   FLOATING COFFEE MUG BUTTON
   ========================= */
#pc-fab {
  position: fixed;
  bottom: 28px;
  right: 20px;
  width: 58px;
  height: 58px;
  background: url('https://piedmontandcompany.com/wp-content/uploads/2025/05/piedmont-and-company-teal-coffee-mug-icon-steam.png')
              center/contain no-repeat;
  border-radius: 12px;
  box-shadow: 0 6px 18px rgba(0,0,0,.25);
  cursor: pointer;
  z-index: 99999;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .25s ease, visibility .25s ease, transform .2s ease;
}

body.pc-show-fab #pc-fab {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  animation: pcFloatMug 3s ease-in-out infinite;
}

@keyframes pcFloatMug {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}

#pc-fab:active { transform: scale(.96); }