/* freeres skin — CSS VERBATIM from toefl-faqs.html comp, scoped under body.galv-freeres. */

 body.galv-freeres *, body.galv-freeres *::before, body.galv-freeres *::after{ margin: 0; padding: 0; box-sizing: border-box; }

 body.galv-freeres {
 --font-heading: "Poppins", sans-serif;
 --font-body: "Inter", sans-serif;
 --primary: #3b5bff;
 --secondary: #cc00cc;
 --hero-bg: #13217c;
 --primary-hover: #13217c;
 --secondary-hover: #A60066;
 --bg-light: #e6ebff;
 --bg-mid: #a0aeff;
 --text-black: #333333;
 --text-gray: #808080;
 --radius: 20px;
 }

 html { scroll-behavior: smooth; }

 body.galv-freeres {
 font-family: var(--font-body);
 background: #e6ebff;
 color: var(--text-black);
 min-height: 100vh;
 line-height: 1.6;
 -webkit-font-smoothing: antialiased;
 }

 body.galv-freeres .hero-section{
 background: var(--hero-bg); color: #ffffff;
 padding: 80px 20px; text-align: center; position: relative;
 }
 body.galv-freeres .hero-section h1{
 font-family: var(--font-heading); font-size: 42px; font-weight: 600;
 line-height: 56px; color: #ffffff; margin-bottom: 20px;
 }
 body.galv-freeres .hero-section p{
 font-family: var(--font-body); font-size: 22px; font-weight: 600; line-height: 32px;
 color: #fffdfe; margin-bottom: 10px;
 }
 body.galv-freeres .hero-section .subtitle{ font-size: 18px; color: rgba(255,255,255,0.7); }

 body.galv-freeres .sticky-header{
 position: sticky; top: 0; z-index: 1000;
 background: #ffffff; padding: 16px 0;
 }
 body.galv-freeres .sticky-header-content{ max-width: 1200px; margin: 0 auto; padding: 0 20px; }

 body.galv-freeres .vertical-nav{
 display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin-bottom: 16px;
 }
 body.galv-freeres .nav-tab{
 padding: 0 20px; height: 40px; display: inline-flex; align-items: center;
 background: var(--bg-light); color: var(--primary); text-decoration: none;
 border-radius: 40px; font-weight: 600; font-family: var(--font-body);
 font-size: 14px; transition: all 0.3s ease; border: none; cursor: pointer;
 }
 body.galv-freeres .nav-tab:hover, body.galv-freeres .nav-tab.active{
 background: var(--primary); color: #fffdfe;
 }

 body.galv-freeres .search-container{ text-align: center; }
 body.galv-freeres .search-box{
 display: inline-flex; background: #ffffff; border-radius: 10px; padding: 4px;
 width: 100%; max-width: 500px;
 border: 2px solid #a0aeff;
 }
 body.galv-freeres .search-input{
 flex: 1; border: none; padding: 10px 16px; font-size: 15px;
 font-family: var(--font-body); border-radius: 8px; outline: none; color: var(--text-black);
 }
 body.galv-freeres .search-input::placeholder{ color: var(--text-gray); }
 body.galv-freeres .search-btn{
 background: var(--primary); color: #ffffff; border: none; padding: 0 20px;
 height: 40px; border-radius: 8px; cursor: pointer; font-weight: 600;
 font-family: var(--font-body); font-size: 14px;
 transition: background 0.3s ease, transform 0.2s ease;
 display: inline-flex; align-items: center; gap: 6px;
 }
 body.galv-freeres .search-btn:hover{ background: var(--primary-hover); }

 body.galv-freeres .sections-navigation{ max-width: 1200px; margin: 0 auto; padding: 40px 20px 0px; }
 body.galv-freeres .sections-navigation h3{
 color: var(--primary); font-family: var(--font-heading);
 font-size: 24px; font-weight: 600; line-height: 34px; margin-bottom: 20px; text-align: center;
 }
 body.galv-freeres .sections-grid{
 display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 20px;
 background: #ffffff; padding: 24px; border-radius: 20px;
 border: 1.5px solid #dce3ff;
 }
 body.galv-freeres .section-link{
 display: block; padding: 10px 12px; background: var(--bg-light); color: var(--text-black);
 text-decoration: none; border-radius: 10px; font-size: 16px; font-family: var(--font-body);
 font-weight: 500; border: 1.5px solid transparent; text-align: center;
 }
 body.galv-freeres .section-link:hover{
 background: var(--primary); color: #fffdfe;;
 border-color: var(--primary);
 }
 body.galv-freeres .section-link.viewing{ background: #3b5bff; color: #fffdfe; }

 body.galv-freeres .main-container{
 max-width: 1200px; margin: 0 auto; padding: 40px 20px 60px;
 display: grid; grid-template-columns: 1fr 300px; gap: 30px;
 align-items: start;
 }
 body.galv-freeres .content-area{ min-height: 100vh; }

 body.galv-freeres .right-sidebar{
 position: sticky;
 top: 150px;
 height: fit-content;
 align-self: start;
 }

 body.galv-freeres .sticky-cta-section{
 background: var(--hero-bg); color: #ffffff; padding: 28px;
 border-radius: var(--radius); text-align: center;
 margin-bottom: 20px;
 }
 body.galv-freeres .sticky-cta-section h3{
 font-family: var(--font-heading); font-size: 22px; font-weight: 600;
 line-height: 30px; margin-bottom: 10px; color: #ffffff;
 }
 body.galv-freeres .sticky-cta-section p{
 font-family: var(--font-body); margin-bottom: 14px;
 font-size: 16px; color: #fffdfe; line-height: 26px;
 }
 body.galv-freeres .discount-code{
 background: rgba(255,255,255,0.1); padding: 10px 14px; border-radius: 10px;
 font-size: 1rem; font-weight: 700; font-family: var(--font-heading);
 letter-spacing: 1.5px; margin-bottom: 14px;
 border: 2px dashed rgba(255,255,255,0.35); color: #ffffff;
 }
 body.galv-freeres .sticky-cta-btn{
 background: #ffffff; color: var(--primary); padding: 0 24px; height: 48px;
 border: none; border-radius: 10px; font-weight: 600; font-family: var(--font-body);
 font-size: 15px; cursor: pointer; transition: all 0.3s ease; text-decoration: none;
 display: inline-flex; align-items: center; justify-content: center; width: 100%;
 }
 body.galv-freeres .sticky-cta-btn:hover{ background: var(--bg-light); transform: translateY(-2px); }
 body.galv-freeres .discount-description{ font-size: 14px; margin-bottom: 10px; color: rgba(255,255,255,0.8); line-height: 24px; }

 body.galv-freeres .faq-categories{ display: grid; gap: 30px; }
 body.galv-freeres .faq-category{
 background: #ffffff; border-radius: 20px; padding: 30px;
 border: 1.5px solid #dce3ff;
 }
 
 body.galv-freeres .category-title{
 font-family: var(--font-heading); color: var(--primary); font-size: 26px;
 font-weight: 600; line-height: 1.3; margin-bottom: 24px;
 padding-bottom: 16px; border-bottom: 2px solid var(--bg-light);
 }

 body.galv-freeres .faq-item{
 background: var(--primary); margin-bottom: 14px; overflow: hidden; transition: none; border: none;
 }
 body.galv-freeres .faq-item:last-child{ margin-bottom: 0; }
 body.galv-freeres .faq-item:hover{ border-color: transparent; box-shadow: none; }

 body.galv-freeres .faq-question{
 background: var(--primary); padding: 18px 48px 18px 20px; cursor: pointer;
 font-weight: 400; font-family: var(--font-heading); font-size: 18px; line-height: 26px;
 color: #fffdfe; display: flex; justify-content: space-between; align-items: center;
 transition: background 0.3s ease; position: relative; width: 100%;
 text-align: left; border: none; margin: 0; user-select: none;
 }
 body.galv-freeres .faq-question:hover{ background: rgba(45,78,220,0.92); }
 body.galv-freeres .faq-question.active{ background: var(--primary-hover); }

 body.galv-freeres .toggle-icon{
 font-size: 22px; font-weight: 300; color: #ffffff; min-width: 22px;
 text-align: center; transition: transform 0.3s ease;
 flex-shrink: 0; line-height: 1; margin-left: 12px;
 }
 body.galv-freeres .toggle-icon.active{ transform: rotate(90deg); }

 body.galv-freeres .faq-answer{
 background: var(--bg-light); padding: 0 20px; max-height: 0; overflow: hidden;
 transition: max-height 0.4s ease, padding 0.4s ease; font-size: 18px; line-height: 28px;
 font-family: var(--font-body); color: var(--primary-hover); font-weight: 400;
 }
 body.galv-freeres .faq-answer.active{ padding: 20px; max-height: 1000px; }
 body.galv-freeres .faq-answer p{
 font-family: var(--font-body); font-size: 16px; line-height: 28px;
 color: #333333; margin: 0; max-width: 100%;
 }
 body.galv-freeres .faq-answer a{ color: var(--primary); font-weight: 600; text-decoration: none; }
 body.galv-freeres .faq-answer a:hover{ text-decoration: underline; }

 body.galv-freeres .no-results{ text-align: center; padding: 60px 20px; color: var(--text-gray); display: none; }
 body.galv-freeres .no-results h3{ margin-bottom: 15px; color: var(--primary); }

 body.galv-freeres .toast{
 position: fixed; bottom: 24px; right: 24px; background: #00bc7d; color: #ffffff;
 padding: 14px 24px; border-radius: 10px;
 display: none; z-index: 10000; font-family: var(--font-body); font-weight: 600; font-size: 14px;
 }
 body.galv-freeres .toast.show{ display: block; animation: slideIn 0.3s ease; }
 @keyframes slideIn { from { transform: translateX(400px); } to { transform: translateX(0); } }

 @media (max-width: 1024px) {
 body.galv-freeres .main-container{ grid-template-columns: 1fr; }
 body.galv-freeres .right-sidebar{ position: relative; top: auto; order: -1; margin-bottom: 30px; }
 body.galv-freeres .sections-grid{ grid-template-columns: repeat(auto-fit, minmax(160px,1fr)); }
 }
 @media (max-width: 768px) {
 body.galv-freeres .hero-section{ padding: 50px 20px; }
 body.galv-freeres .hero-section h1{ font-size: 28px; line-height: 38px; }
 body.galv-freeres .hero-section p{ font-size: 18px; }
 body.galv-freeres .sections-navigation{ padding: 24px 16px; }
 body.galv-freeres .sections-grid{ grid-template-columns: repeat(2,1fr); gap: 8px; padding: 14px; }
 body.galv-freeres .section-link{ font-size: 12px; padding: 8px 10px; }
 body.galv-freeres .faq-question{ padding: 14px 40px 14px 14px; font-size: 16px; }
 body.galv-freeres .category-title{ font-size: 20px; }
 body.galv-freeres .faq-category{ padding: 20px; }
 body.galv-freeres .sticky-cta-section{ padding: 20px; }
 }
 @media (max-width: 480px) {
 body.galv-freeres .hero-section h1{ font-size: 24px; line-height: 34px; }
 body.galv-freeres .sections-grid{ grid-template-columns: 1fr; }
 }
