:root{--primary-color: #2563eb;--primary-hover: #1d4ed8;--secondary-color: #64748b;--accent-color: #10b981;--warning-color: #f59e0b;--danger-color: #ef4444;--background-color: #ffffff;--surface-color: #f8fafc;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--border-color: #e2e8f0;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;color:var(--text-primary);background-color:var(--background-color)}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;margin-bottom:.5rem}h1{font-size:clamp(2rem,5vw,3.5rem);font-weight:700}h2{font-size:clamp(1.5rem,4vw,2.5rem)}h3{font-size:clamp(1.25rem,3vw,1.75rem)}p{margin-bottom:1rem;color:var(--text-secondary)}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.btn-primary,.btn-secondary{padding:.75rem 1.5rem;border:none;border-radius:var(--radius-md);font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-block;text-align:center}.btn-primary{background-color:var(--primary-color);color:#fff}.btn-primary:hover{background-color:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background-color:transparent;color:var(--text-primary);border:1px solid var(--border-color)}.clickable-time{cursor:pointer;transition:all .2s ease;padding:2px 4px;border-radius:var(--radius-sm)}.clickable-time:hover{background-color:var(--primary-color);color:#fff;transform:scale(1.02)}.time-inputs{display:flex;gap:1rem;align-items:end}.time-inputs .form-group{flex:1}.time-inputs label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-primary)}.time-inputs input[type=time]{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:1rem;transition:border-color .2s ease}.time-inputs input[type=time]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.notification{position:fixed;top:2rem;right:2rem;background:#fff;color:#000;padding:1rem 1.5rem;border-radius:var(--radius-md);box-shadow:0 10px 30px #0003;z-index:1001;transform:translate(100%);transition:transform .3s ease;border-left:4px solid var(--primary-color)}.notification.show{transform:translate(0)}.notification.success{border-left-color:#10b981}.notification.error{border-left-color:#ef4444}.notification.info{border-left-color:var(--primary-color)}.btn-secondary:hover{background-color:var(--surface-color);border-color:var(--text-secondary)}.btn-large{padding:1rem 2rem;font-size:1rem}.navbar{background-color:var(--background-color);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:100;backdrop-filter:blur(10px)}.nav-container{max-width:1200px;margin:0 auto;padding:0 1rem;display:flex;justify-content:space-between;align-items:center;height:4rem}.nav-logo h2{color:var(--primary-color);margin:0;font-size:1.5rem}.nav-menu{display:flex;align-items:center;gap:2rem}.nav-link{text-decoration:none;color:var(--text-secondary);font-weight:500;transition:color .2s ease}.nav-link:hover{color:var(--primary-color)}.nav-auth{display:flex;align-items:center;gap:1rem}.btn-login,.btn-register{padding:.5rem 1rem;border-radius:8px;font-weight:500;text-decoration:none;transition:all .2s ease}.btn-login{color:var(--primary-color);background:transparent;border:1px solid var(--primary-color)}.btn-login:hover{background:var(--primary-color);color:#fff}.btn-register{color:#fff;background:var(--primary-color);border:1px solid var(--primary-color)}.btn-register:hover{background:var(--primary-hover);border-color:var(--primary-hover)}.user-menu{display:flex;align-items:center}.user-menu-link{display:flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--text-primary);padding:.25rem .75rem;border-radius:50px;transition:background .2s ease}.user-menu-link:hover{background:var(--surface-color)}.user-avatar{width:36px;height:36px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:2px solid var(--primary-color)}.user-name{font-weight:500;font-size:.9rem}.hero{padding:4rem 0;background:linear-gradient(135deg,var(--surface-color) 0%,var(--background-color) 100%)}.hero-container{max-width:1200px;margin:0 auto;padding:0 1rem;display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}.hero-title{margin-bottom:1.5rem}.highlight{color:var(--primary-color);position:relative}.highlight:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,var(--primary-color),var(--accent-color));border-radius:2px}.hero-description{font-size:1.125rem;margin-bottom:2rem;color:var(--text-secondary)}.hero-buttons{display:flex;gap:1rem;margin-bottom:3rem}.hero-stats{display:flex;gap:2rem}.stat{text-align:center}.stat-number{display:block;font-size:1.5rem;font-weight:700;color:var(--primary-color)}.stat-label{font-size:.875rem;color:var(--text-muted)}.hero-card-demo{display:flex;justify-content:center;align-items:center}.demo-card{background:var(--background-color);border-radius:var(--radius-xl);padding:1.5rem;box-shadow:var(--shadow-xl);max-width:300px;transform:rotate(3deg);transition:transform .3s ease}.demo-card:hover{transform:rotate(0) scale(1.05)}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.card-category{background:var(--primary-color);color:#fff;padding:.25rem .75rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500}.verified-badge{background:var(--accent-color);color:#fff;padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:500}.demo-card h3{margin-bottom:.5rem;color:var(--text-primary)}.card-price{font-size:1.25rem;font-weight:600;color:var(--primary-color);margin-bottom:.5rem}.card-description{color:var(--text-secondary);margin-bottom:1rem}.card-rating{display:flex;align-items:center;gap:.5rem}.stars{display:flex;gap:.25rem}.stars .star{width:16px;height:16px;background-image:url("data:image/svg+xml,%3csvg%20width='500'%20height='500'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M12%202l3.09%206.26L22%209.27l-5%204.87%201.18%206.88L12%2017.77l-6.18%203.25L7%2014.14%202%209.27l6.91-1.01L12%202z'%20fill='%23808080'%20stroke='%23666666'%20stroke-width='0.5'/%3e%3c/svg%3e");background-size:contain;background-repeat:no-repeat;background-position:center;display:inline-block;text-indent:-9999px;overflow:hidden}.stars .star.filled{background-image:url(/assets/star-rating-BcpB6gU_.svg)}.stars .star.partial{position:relative;background-image:url("data:image/svg+xml,%3csvg%20width='500'%20height='500'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M12%202l3.09%206.26L22%209.27l-5%204.87%201.18%206.88L12%2017.77l-6.18%203.25L7%2014.14%202%209.27l6.91-1.01L12%202z'%20fill='%23808080'%20stroke='%23666666'%20stroke-width='0.5'/%3e%3c/svg%3e");overflow:hidden}.stars .star.partial:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:url(/assets/star-rating-BcpB6gU_.svg);background-size:16px 16px;background-repeat:no-repeat;clip-path:inset(0 calc(100% - var(--fill-percent, 50%)) 0 0)}section{padding:4rem 0}.section-title{text-align:center;margin-bottom:1rem}.section-subtitle{text-align:center;font-size:1.125rem;color:var(--text-secondary);margin-bottom:3rem}.why-choose-us{background-color:var(--surface-color)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;align-items:start}.feature-card{background:var(--background-color);padding:.75rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all .3s ease;display:flex;flex-direction:column;min-height:-moz-fit-content;min-height:fit-content}.feature-card.collapsible{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;position:relative;transition:all 1.2s cubic-bezier(.25,.46,.45,.94);padding-bottom:.5rem}.feature-card.collapsible:hover{transform:translateY(-2px);box-shadow:0 15px 40px #0000004d;border-color:var(--primary-color)}.card-header-content{display:flex;flex-direction:column;gap:1rem}.card-details{margin-top:0;padding-top:0;margin-bottom:0;padding-bottom:0;border-top:1px solid var(--border-color);overflow:hidden;max-height:0;opacity:0;transition:all 1.2s cubic-bezier(.4,0,.2,1)}.card-details.show{max-height:200px;opacity:1;margin-top:1.5rem;padding-top:1.5rem}.feature-card.expanded{background:linear-gradient(135deg,var(--primary-color-light) 0%,rgba(255,255,255,.95) 100%);border-color:var(--primary-color);box-shadow:0 8px 30px #0000001f}.feature-card.expanded:hover{transform:translateY(-1px)}.feature-icon{font-size:1.5rem;margin-bottom:1rem;display:block;color:var(--primary-color)}.feature-card h3{margin-bottom:.375rem;color:var(--text-primary);font-size:1.25rem}.feature-card p{margin-bottom:.1rem;flex-grow:1}.competitor-comparison{background:var(--surface-color);padding:.25rem;border-radius:var(--radius-md);border-left:4px solid var(--primary-color);margin-top:auto}.competitor{display:block;color:var(--text-muted);font-size:.875rem;margin-bottom:0}.us{display:block;color:var(--accent-color);font-weight:600;font-size:.875rem}.skill-exchange{background:linear-gradient(135deg,var(--surface-color) 0%,var(--background-color) 100%)}.exchange-explanation{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;margin-bottom:4rem}.card-demo-container{display:flex;align-items:center;justify-content:center;gap:2rem}.learn-card,.teach-card{background:var(--background-color);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-lg);min-width:150px;text-align:center;transition:transform .3s ease}.learn-card{border:3px solid var(--primary-color)}.teach-card{border:3px solid var(--accent-color)}.learn-card:hover,.teach-card:hover{transform:translateY(-5px) scale(1.05)}.card-type{font-size:.75rem;font-weight:600;text-transform:uppercase;margin-bottom:1rem;padding:.25rem .75rem;border-radius:var(--radius-sm);color:#fff}.learn-card .card-type{background:var(--primary-color)}.teach-card .card-type{background:var(--accent-color)}.card-content h4{margin:0 0 .5rem;font-size:1.25rem}.level{font-size:.875rem;color:var(--text-secondary);background:var(--surface-color);padding:.25rem .75rem;border-radius:var(--radius-sm)}.exchange-arrow{font-size:2rem;color:var(--primary-color);animation:pulse 2s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.exchange-description h3{margin-bottom:1.5rem;color:var(--text-primary)}.exchange-benefits{display:flex;flex-direction:column;gap:1.5rem;margin-top:2rem}.benefit{display:flex;align-items:flex-start;gap:1rem}.benefit-icon{font-size:1.5rem;margin-top:.25rem}.benefit h4{margin:0 0 .5rem;color:var(--text-primary)}.benefit p{margin:0;color:var(--text-secondary)}.dual-system{margin-top:4rem}.dual-title{text-align:center;margin-bottom:3rem;font-size:1.75rem;color:var(--text-primary)}.system-comparison{display:grid;grid-template-columns:1fr 1fr;gap:2rem;max-width:900px;margin:0 auto;align-items:stretch}.system-option{background:var(--background-color);border-radius:var(--radius-lg);padding:2rem;text-align:center;box-shadow:var(--shadow-md);transition:all .3s ease;border:2px solid var(--border-color);display:flex;flex-direction:column;height:100%;position:relative}.system-option.featured{border-color:var(--primary-color);transform:scale(1.02);box-shadow:var(--shadow-xl)}.system-option.featured:before{content:"MEST POPULÆR";position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--primary-color);color:#fff;padding:.25rem 1rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase}.system-option.new{border-color:#e74c3c;transform:scale(1.02);box-shadow:var(--shadow-xl)}.system-option.new:before{content:"NY";position:absolute;top:-12px;left:50%;transform:translate(-50%);background:#e74c3c;color:#fff;padding:.25rem 1rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase}.system-option:hover{transform:translateY(-5px);box-shadow:var(--shadow-xl)}.system-option.featured:hover,.system-option.new:hover{transform:translateY(-5px) scale(1.02)}.system-icon{font-size:3rem;margin-bottom:1rem;color:var(--primary-color)}.system-option h4{margin-bottom:1rem;font-size:1.5rem;color:var(--text-primary)}.system-option p{margin-bottom:1.5rem;color:var(--text-secondary);line-height:1.6}.system-option ul{list-style:none;padding:0;margin:0 0 2rem;text-align:left;flex-grow:1}.system-option li{color:var(--text-secondary);position:relative;padding:.75rem 0 .75rem 1.5rem;line-height:1.5}.system-option li:before{content:"✓";position:absolute;left:0;color:var(--accent-color);font-weight:600;font-size:1.1rem}.steps-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:3rem;margin-top:3rem;align-items:start}.step{text-align:center;position:relative;padding:1.5rem;background:var(--background-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all .3s ease}.step:hover{transform:translateY(-4px);box-shadow:var(--shadow-md)}.step-number{display:inline-flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:#fff;border-radius:50%;font-size:1.25rem;font-weight:600;margin-bottom:1.5rem;box-shadow:var(--shadow-md)}.step h3{margin-bottom:1rem;color:var(--text-primary);font-size:1.25rem}.step p{color:var(--text-secondary);line-height:1.6}.pricing{background-color:var(--surface-color)}.pricing-comparison{display:grid;grid-template-columns:1fr 1fr;gap:2rem;max-width:900px;margin:0 auto;align-items:stretch}.pricing-card{background:var(--background-color);padding:2rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:flex;flex-direction:column;height:100%;transition:all .3s ease}.competitor-card{border:2px solid var(--danger-color);position:relative}.our-card{border:2px solid var(--accent-color);position:relative;transform:scale(1.02);box-shadow:var(--shadow-lg)}.our-card:before{content:"ANBEFALT";position:absolute;top:-12px;left:50%;transform:translate(-50%);background:var(--accent-color);color:#fff;padding:.25rem 1rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase}.pricing-card h3{text-align:center;margin-bottom:1.5rem;font-size:1.5rem;color:var(--text-primary)}.price-breakdown{margin-bottom:1.5rem;flex-grow:1}.price-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--border-color)}.price-item:last-child{border-bottom:none}.price-item.total{font-weight:600;font-size:1.125rem;background:var(--surface-color);padding:1rem;border-radius:var(--radius-md);margin-top:1rem;border:none}.price{font-weight:600}.price.free{color:var(--accent-color)}.hidden-costs{color:var(--danger-color);font-size:.875rem;font-style:italic}.benefits{color:var(--accent-color);font-size:.875rem;font-weight:500}.cta{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-hover) 100%);color:#fff;text-align:center}.cta h2{color:#fff;margin-bottom:1rem}.cta p{color:#ffffffe6;font-size:1.125rem;margin-bottom:2rem}.cta-buttons{display:flex;justify-content:center;gap:1rem}.cta .btn-secondary{background-color:#ffffff1a;color:#fff;border-color:#ffffff4d}.cta .btn-secondary:hover{background-color:#fff3}.footer{background-color:var(--text-primary);color:#fff;padding:3rem 0 1rem}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;margin-bottom:2rem}.footer-section h3,.footer-section h4{color:#fff;margin-bottom:1rem}.footer-section a{display:block;color:var(--text-muted);text-decoration:none;margin-bottom:.5rem;transition:color .2s ease}.footer-section a:hover{color:#fff}.footer-bottom{border-top:1px solid var(--text-secondary);padding-top:1rem;text-align:center;color:var(--text-muted)}@media(max-width:768px){.nav-menu{gap:1rem}.nav-menu .nav-link{display:none}.hero-container{grid-template-columns:1fr;gap:2rem;text-align:center}.hero-buttons{flex-direction:column;align-items:center}.hero-stats{justify-content:center}.features-grid,.comparison-grid,.pricing-comparison{grid-template-columns:1fr;gap:1.5rem}.our-card{transform:none;order:-1}.steps-container{grid-template-columns:1fr;gap:2rem}.cta-buttons{flex-direction:column;align-items:center}.exchange-explanation{grid-template-columns:1fr;gap:2rem;text-align:center}.card-demo-container{flex-direction:column;gap:1rem}.exchange-arrow{transform:rotate(90deg)}.system-comparison{grid-template-columns:1fr;gap:1.5rem}.system-option.featured{transform:none}.system-option.featured:hover{transform:translateY(-5px)}.learn-card,.teach-card{min-width:200px}}@media(max-width:480px){.container{padding:0 .5rem}.hero{padding:2rem 0}section{padding:2rem 0}.btn-large{width:100%;max-width:300px}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.feature-card,.step,.pricing-card{animation:fadeInUp .6s ease forwards}html{scroll-behavior:smooth}.btn-primary:focus,.btn-secondary:focus,.nav-link:focus{outline:2px solid var(--primary-color);outline-offset:2px}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;opacity:0;transition:opacity .3s ease}.modal-overlay.show{opacity:1}.modal{background:#fff;border-radius:var(--radius-lg);box-shadow:0 20px 60px #0000004d;max-width:500px;width:95%;max-height:80vh;overflow-y:auto;transform:scale(.9);transition:transform .3s ease}.modal-overlay.show .modal{transform:scale(1)}.modal-content{padding:0}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border-color)}.modal-header h3{margin:0;color:var(--text-primary);font-size:1.3rem}.close-modal{background:none;border:none;font-size:1.5rem;color:var(--text-secondary);cursor:pointer;padding:.25rem;border-radius:var(--radius-sm);transition:all .3s ease}.close-modal:hover{background-color:var(--background-secondary);color:var(--text-primary)}.modal-body{padding:1.5rem}.modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem;border-top:1px solid var(--border-color);background-color:var(--background-secondary)}.reviews-section{padding:2rem 0}.reviews-summary{background:var(--surface-color);padding:2rem;border-radius:var(--radius-lg);margin-bottom:2rem;text-align:center}.overall-rating{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1rem}.stars-and-count{display:flex;align-items:center;gap:.5rem}.rating-number{font-size:3rem;font-weight:700;color:var(--text-primary)}.rating-stars{display:flex;gap:.25rem}.rating-stars .star{width:24px;height:24px;background-image:url("data:image/svg+xml,%3csvg%20width='500'%20height='500'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M12%202l3.09%206.26L22%209.27l-5%204.87%201.18%206.88L12%2017.77l-6.18%203.25L7%2014.14%202%209.27l6.91-1.01L12%202z'%20fill='%23808080'%20stroke='%23666666'%20stroke-width='0.5'/%3e%3c/svg%3e");background-size:contain;background-repeat:no-repeat;background-position:center;display:inline-block;text-indent:-9999px;overflow:hidden}.rating-stars .star.filled{background-image:url(/assets/star-rating-BcpB6gU_.svg)}.rating-stars .star.partial{position:relative;background-image:url("data:image/svg+xml,%3csvg%20width='500'%20height='500'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M12%202l3.09%206.26L22%209.27l-5%204.87%201.18%206.88L12%2017.77l-6.18%203.25L7%2014.14%202%209.27l6.91-1.01L12%202z'%20fill='%23808080'%20stroke='%23666666'%20stroke-width='0.5'/%3e%3c/svg%3e");overflow:hidden}.rating-stars .star.partial:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:url(/assets/star-rating-BcpB6gU_.svg);background-size:24px 24px;background-repeat:no-repeat;clip-path:inset(0 calc(100% - var(--fill-percent, 50%)) 0 0)}.review-count{color:var(--text-secondary);font-size:1rem;margin:0;display:inline}.rating-breakdown{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;max-width:600px;margin:0 auto}.rating-bar{text-align:center}.rating-bar-label{font-size:.875rem;color:var(--text-secondary);margin-bottom:.5rem}.rating-bar-visual{height:100px;background:var(--border-color);border-radius:var(--radius-sm);position:relative;overflow:hidden}.rating-bar-fill{position:absolute;bottom:0;left:0;right:0;background:var(--text-muted);border-radius:var(--radius-sm);transition:height .3s ease}.rating-bar-fill.five-star{background:var(--accent-color)}.rating-bar-count{font-size:.75rem;color:var(--text-secondary);margin-top:.5rem}.reviews-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;gap:1rem}.reviews-filters{display:flex;align-items:center;gap:1rem}.reviews-sorting{display:flex;align-items:center;gap:.5rem}.filter-select,.sort-select{padding:.5rem 1rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:#fff;color:var(--text-primary);font-size:.875rem;cursor:pointer}.filter-select:focus,.sort-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.reviews-list{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.review-item{background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow-sm);transition:box-shadow .2s ease}.review-item:hover{box-shadow:var(--shadow-md)}.review-item.review-item-locked{background:linear-gradient(135deg,#fef3c7,#fef9e7);border:1px solid #fbbf24}.review-item-locked .review-rating-blurred{position:relative;filter:blur(4px);-webkit-user-select:none;-moz-user-select:none;user-select:none}.review-item-locked .rating-blur-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #00000026;filter:none}.review-item-locked .lock-icon{font-size:.9rem}.review-locked-content{background:#fff;border-radius:12px;padding:1.25rem;text-align:center;margin-top:1rem}.review-locked-text{color:#92400e;font-size:.9rem;margin:0 0 1rem}.review-unlock-btn{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #6366f14d}.review-unlock-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #6366f166}.review-modal-form{max-width:500px;width:90%}.review-modal-form .review-modal-content{max-height:60vh;overflow-y:auto}.review-unlock-message-profile{background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:12px;padding:1rem;margin-bottom:1.25rem;text-align:center}.review-unlock-message-profile .unlock-icon{font-size:1.75rem;display:block;margin-bottom:.5rem}.review-unlock-message-profile p{margin:0;font-size:.85rem;color:#92400e}.review-modal-form .review-question{margin-bottom:1.25rem}.review-modal-form .review-question label{display:block;font-size:.9rem;font-weight:500;color:var(--text-primary, #1a1a1a);margin-bottom:.5rem}.review-modal-form .review-question-overall{padding-top:.75rem;border-top:1px solid var(--border-color, #e5e7eb);margin-top:.25rem}.review-modal-form .star-rating{display:flex;gap:.2rem}.review-modal-form .star-rating-large{justify-content:center;gap:.4rem}.review-modal-form .star-btn{background:none;border:none;padding:.2rem;cursor:pointer;transition:transform .15s ease}.review-modal-form .star-btn:hover{transform:scale(1.1)}.review-modal-form .star-btn .star{font-size:1.6rem;color:#d1d5db;transition:color .15s ease}.review-modal-form .star-rating-large .star-btn .star{font-size:2rem}.review-modal-form .star-btn.active .star,.review-modal-form .star-btn:hover .star{color:#fbbf24}.review-modal-form .review-comment{margin-top:1rem}.review-modal-form .review-comment label{display:block;font-size:.9rem;font-weight:500;color:var(--text-primary, #1a1a1a);margin-bottom:.4rem}.review-modal-form .review-comment .optional{font-weight:400;color:var(--text-secondary, #6b7280);font-size:.8rem}.review-modal-form .review-comment textarea{width:100%;min-height:60px;padding:.6rem;border:1px solid var(--border-color, #e5e7eb);border-radius:8px;font-family:inherit;font-size:.85rem;resize:none;box-sizing:border-box}.review-modal-form .review-comment textarea:focus{outline:none;border-color:var(--primary-color, #6366f1)}.review-modal-footer{padding:1rem 1.5rem;border-top:1px solid var(--border-color, #e5e7eb)}.review-modal-footer .review-submit-btn{width:100%;padding:.75rem 1.5rem;background:var(--primary-color, #6366f1);color:#fff;border:none;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .2s ease,opacity .2s ease}.review-modal-footer .review-submit-btn:hover:not(:disabled){background:var(--primary-color-dark, #4f46e5)}.review-modal-footer .review-submit-btn:disabled{opacity:.5;cursor:not-allowed}.review-header{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.reviewer-avatar{width:48px;height:48px;border-radius:50%;-o-object-fit:cover;object-fit:cover}.reviewer-name{font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.review-date{font-size:.875rem;color:var(--text-secondary)}.review-rating{display:flex;gap:.25rem}.review-rating .star{width:20px;height:20px;background-image:url("data:image/svg+xml,%3csvg%20width='500'%20height='500'%20viewBox='0%200%2024%2024'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M12%202l3.09%206.26L22%209.27l-5%204.87%201.18%206.88L12%2017.77l-6.18%203.25L7%2014.14%202%209.27l6.91-1.01L12%202z'%20fill='%23808080'%20stroke='%23666666'%20stroke-width='0.5'/%3e%3c/svg%3e");background-size:contain;background-repeat:no-repeat;background-position:center;display:inline-block;text-indent:-9999px;overflow:hidden}.review-rating .star.filled{background-image:url(/assets/star-rating-BcpB6gU_.svg)}.review-text{color:var(--text-primary);line-height:1.6;margin-bottom:1rem}.review-subject{display:inline-block;background:var(--surface-color);color:var(--text-secondary);padding:.25rem .75rem;border-radius:var(--radius-sm);font-size:.875rem;margin-bottom:1rem}.teacher-response{background:var(--surface-color);border-radius:var(--radius-md);padding:1rem;margin-top:1rem;border-left:4px solid var(--primary-color)}.teacher-response-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.teacher-avatar{width:32px;height:32px;border-radius:50%;-o-object-fit:cover;object-fit:cover}.teacher-name{font-weight:600;color:var(--text-primary);font-size:.875rem}.response-date{font-size:.75rem;color:var(--text-secondary);margin-left:auto}.teacher-response-text{color:var(--text-primary);line-height:1.5;font-size:.875rem;margin:0}.reviews-pagination{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 0;border-top:1px solid var(--border-color)}.pagination-controls{display:flex;align-items:center;gap:1rem}.page-numbers{display:flex;align-items:center;gap:.5rem}.page-btn{width:36px;height:36px;border:1px solid var(--border-color);background:#fff;color:var(--text-primary);border-radius:var(--radius-md);cursor:pointer;font-size:.875rem;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.page-btn:hover{background:var(--surface-color);border-color:var(--primary-color)}.page-btn.active{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.page-dots{color:var(--text-secondary);font-size:.875rem;padding:0 .5rem}.reviews-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:var(--text-secondary)}.reviews-loading .loading-spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.no-reviews-state{text-align:center;padding:3rem 2rem;background:var(--surface-color);border-radius:var(--radius-lg);border:1px dashed var(--border-color)}.no-reviews-state .no-reviews-icon{font-size:3rem;margin-bottom:1rem}.no-reviews-state h3{color:var(--text-primary);margin-bottom:.5rem}.no-reviews-state p{color:var(--text-secondary)}.review-response{background:linear-gradient(135deg,#f8f9ff,#f0f4ff);border-radius:var(--radius-md);padding:1rem;margin-top:1rem;border-left:4px solid var(--primary-color)}.review-response .response-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem;font-size:.875rem}.review-response .response-icon{font-size:1rem}.review-response .response-label{font-weight:600;color:var(--primary-color)}.review-response .response-date{color:var(--text-secondary);margin-left:auto;font-size:.75rem}.review-response .response-text{color:var(--text-primary);line-height:1.5;font-size:.9rem;margin:0}.review-item.highlight-review{animation:reviewHighlightPulse 2.5s ease-out;border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f133,var(--shadow-md)}@keyframes reviewHighlightPulse{0%{background-color:#6366f126;transform:scale(1.01)}50%{background-color:#6366f114}to{background-color:#fff;transform:scale(1)}}.review-header .reviewer-info{display:flex;align-items:center;gap:.75rem;flex:1}.review-header .reviewer-details h4{margin:0;font-weight:600;color:var(--text-primary)}.review-lesson-info{margin-bottom:.75rem}.review-lesson-info .lesson-badge{display:inline-flex;align-items:center;gap:.5rem;background:linear-gradient(135deg,#f0f7ff,#e8f4fd);color:#1e40af;padding:.4rem .75rem;border-radius:var(--radius-full, 9999px);font-size:.8rem;font-weight:500;border:1px solid rgba(59,130,246,.2)}.detailed-ratings-section{margin-top:1rem;border-top:1px solid var(--border-color);padding-top:.75rem}.toggle-details-btn{display:flex;align-items:center;gap:.5rem;background:none;border:none;color:var(--primary-color);font-size:.85rem;font-weight:500;cursor:pointer;padding:.25rem 0;transition:opacity .2s}.toggle-details-btn:hover{opacity:.8}.toggle-details-btn .toggle-icon{font-size:.7rem;transition:transform .2s}.detailed-ratings-content{margin-top:.75rem;padding:.75rem;background:var(--surface-color);border-radius:var(--radius-md)}.detail-rating-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0}.detail-rating-row:not(:last-child){border-bottom:1px solid var(--border-color)}.detail-rating-row .detail-label{color:var(--text-secondary);font-size:.85rem}.detail-rating-row .detail-stars{display:flex;gap:.15rem}.detail-rating-row .detail-star{font-size:.85rem;opacity:.3}.detail-rating-row .detail-star.filled{opacity:1}.category-breakdown{display:flex;gap:2rem;flex:1}.category-rating-bar{flex:1;display:flex;flex-direction:column;align-items:center;gap:.4rem}.category-rating-bar .category-label{font-size:.8rem;color:var(--text-secondary);font-weight:500;white-space:nowrap}.category-rating-bar .category-avg{font-size:1rem;font-weight:700;color:var(--text-primary)}@media(max-width:600px){.category-breakdown{flex-direction:column;gap:1rem}.category-rating-bar{flex-direction:row;justify-content:space-between;align-items:center;gap:.75rem}.category-rating-bar .category-label{min-width:130px;text-align:left}.category-rating-bar .stars{flex:1;justify-content:center}.category-rating-bar .category-avg{min-width:35px;text-align:right}}@media(max-width:768px){.reviews-controls{flex-direction:column;align-items:stretch;gap:1rem}.reviews-filters{justify-content:space-between}.rating-breakdown{grid-template-columns:repeat(3,1fr);gap:.75rem}.review-header{flex-direction:column;align-items:flex-start;gap:.75rem}.reviewer-info{display:flex;justify-content:space-between;align-items:center;width:100%}.pagination-controls{flex-direction:column;gap:1rem}.page-numbers{order:-1}}@media(max-width:480px){.rating-breakdown{grid-template-columns:repeat(2,1fr)}.reviews-summary{padding:1.5rem}.review-item{padding:1rem}}.payment-section{padding:2rem 0}.income-overview{margin-bottom:3rem}.income-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.income-card{background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:2rem;text-align:center;box-shadow:var(--shadow-sm);transition:all .3s ease;position:relative;overflow:hidden}.income-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--primary-color)}.income-card.reserved:before{background:#6b7280}.income-card.available:before{background:var(--primary-color)}.income-card.pending:before{background:#f59e0b}.income-card.received:before{background:#10b981}.income-stats.four-columns{display:flex!important;flex-wrap:nowrap!important;gap:.75rem;margin-bottom:2rem}.income-stats.four-columns .income-card{flex:1;min-width:0;padding:1rem .5rem}.income-stats.four-columns .income-card h3{font-size:.75rem;margin-bottom:.5rem}.income-stats.four-columns .income-amount{font-size:1.25rem;margin-bottom:.25rem}.income-stats.four-columns .income-period{font-size:.65rem;line-height:1.3}@media(max-width:768px){.income-stats.four-columns{flex-wrap:wrap!important}.income-stats.four-columns .income-card{flex:1 1 45%;padding:1rem}.income-stats.four-columns .income-amount{font-size:1.5rem}}@media(max-width:480px){.income-stats.four-columns .income-card{flex:1 1 100%}}.income-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.income-card h3{font-size:1rem;font-weight:600;color:var(--text-secondary);margin-bottom:1rem;text-transform:uppercase;letter-spacing:.5px}.income-amount{font-size:2.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.5rem}.income-period{font-size:.875rem;color:var(--text-secondary)}.payment-history-section{margin-bottom:3rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.section-header h3{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0}.history-controls{display:flex;gap:1rem;align-items:center}.filter-select,.sort-select,.period-select{padding:.5rem 1rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:#fff;color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:all .2s ease}.filter-select:focus,.sort-select:focus,.period-select:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #2563eb1a}.payment-table{background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);margin-bottom:1.5rem}.table-header{display:grid;grid-template-columns:120px 1fr 120px 120px;gap:1rem;padding:1rem 1.5rem;background:var(--surface-color);border-bottom:1px solid var(--border-color);font-weight:600;font-size:.875rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.table-body{display:flex;flex-direction:column}.payment-row{display:grid;grid-template-columns:120px 1fr 120px 120px;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);transition:background-color .2s ease;align-items:center}.payment-row:last-child{border-bottom:none}.payment-row:hover{background:var(--surface-color)}.col-date{font-size:.875rem;color:var(--text-secondary);font-weight:500}.col-description{font-size:.875rem;color:var(--text-primary);font-weight:500}.col-amount{font-size:.875rem;font-weight:600;text-align:right}.col-amount.income{color:#10b981}.col-amount.transfer{color:var(--text-primary)}.col-status{text-align:center}.status-transferred{background:#dcfce7;color:#166534;padding:.25rem .75rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-pending{background:#fef3c7;color:#92400e;padding:.25rem .75rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-completed{background:#dbeafe;color:#1e40af;padding:.25rem .75rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-cancelled{background:#fee2e2;color:#dc2626;padding:.25rem .75rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.payment-methods-section{margin-bottom:3rem}.payment-methods{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.payment-method{background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);transition:all .3s ease}.payment-method:hover{box-shadow:var(--shadow-md)}.method-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;background:var(--surface-color);border-bottom:1px solid var(--border-color)}.method-info{display:flex;align-items:center;gap:1rem}.method-icon{font-size:2rem;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:var(--radius-md);border:1px solid var(--border-color)}.method-details h4{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 .25rem}.method-description{font-size:.875rem;color:var(--text-secondary);margin:0}.method-status{display:flex;align-items:center}.status-badge{padding:.5rem 1rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.active{background:#dcfce7;color:#166534}.status-badge.inactive{background:#f3f4f6;color:#6b7280}.method-content{padding:1.5rem}.current-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:1rem;background:var(--surface-color);border-radius:var(--radius-md)}.info-label{font-size:.875rem;color:var(--text-secondary);font-weight:500}.info-value{font-size:.875rem;color:var(--text-primary);font-weight:600}.method-actions{display:flex;gap:1rem;flex-wrap:wrap}.edit-method-btn,.verify-method-btn,.add-method-btn{padding:.5rem 1rem;border:1px solid var(--primary-color);background:#fff;color:var(--primary-color);border-radius:var(--radius-md);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.edit-method-btn:hover,.verify-method-btn:hover,.add-method-btn:hover{background:var(--primary-color);color:#fff}.payment-info{margin-top:2rem}.info-box{background:#eff6ff;border:1px solid #bfdbfe;border-radius:var(--radius-lg);padding:1.5rem}.info-box h4{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.info-box ul{margin:0;padding-left:1.5rem;color:var(--text-secondary)}.info-box li{margin-bottom:.5rem;font-size:.875rem;line-height:1.5}.tax-reporting-section{margin-bottom:3rem}.reporting-tools{display:grid;grid-template-columns:2fr 1fr;gap:2rem;align-items:start}.report-card{background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-sm)}.report-info{margin-bottom:1.5rem}.report-info h4{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.report-info p{font-size:.875rem;color:var(--text-secondary);margin:0}.report-actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}.generate-report-btn{padding:.75rem 1.5rem;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.generate-report-btn:hover{background:var(--primary-hover);transform:translateY(-1px)}.tax-info{background:var(--surface-color);border-radius:var(--radius-lg);padding:1.5rem}.tax-info h4{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.tax-links{display:flex;flex-direction:column;gap:.75rem}.tax-link{color:var(--primary-color);text-decoration:none;font-size:.875rem;font-weight:500;transition:color .2s ease}.tax-link:hover{color:var(--primary-hover);text-decoration:underline}.payment-settings-section{margin-bottom:3rem}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-bottom:2rem}.setting-card{background:#fff;border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-sm)}.setting-card h4{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 1.5rem}.setting-options,.frequency-options{display:flex;flex-direction:column;gap:1rem}.setting-option,.frequency-option{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;padding:.75rem;border-radius:var(--radius-md);transition:background-color .2s ease}.setting-option:hover,.frequency-option:hover{background:var(--surface-color)}.setting-option input[type=checkbox],.frequency-option input[type=radio],.setting-label input[type=checkbox]{margin:0;width:18px;height:18px;accent-color:var(--primary-color)}.checkmark{display:none}.radio-mark{display:none;border-radius:50%}.option-text{font-size:.875rem;font-weight:500;color:var(--text-primary);flex:1}.option-desc{font-size:.75rem;color:var(--text-secondary);margin-top:.25rem}.frequency-option{flex-direction:column;align-items:flex-start;gap:.5rem}.frequency-option .option-text{margin-left:1.5rem;margin-top:-1.5rem}.frequency-option .option-desc{margin-left:1.5rem}.settings-actions{display:flex;justify-content:flex-end;padding-top:2rem;border-top:1px solid var(--border-color)}.save-settings-btn{padding:.75rem 2rem;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.save-settings-btn:hover{background:var(--primary-hover);transform:translateY(-1px)}.pagination{display:flex;justify-content:space-between;align-items:center;padding:1rem 0}.pagination-btn{padding:.5rem 1rem;border:1px solid var(--border-color);background:#fff;color:var(--text-primary);border-radius:var(--radius-md);cursor:pointer;font-size:.875rem;transition:all .2s ease}.pagination-btn:hover:not(:disabled){background:var(--surface-color);border-color:var(--primary-color)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-info{color:var(--text-secondary);font-size:.875rem}@media(max-width:1024px){.reporting-tools{grid-template-columns:1fr;gap:1.5rem}.settings-grid{grid-template-columns:1fr}}@media(max-width:768px){.income-stats{grid-template-columns:1fr;gap:1rem}.section-header{flex-direction:column;align-items:stretch}.history-controls{justify-content:space-between}.table-header,.payment-row{grid-template-columns:1fr;gap:.5rem;text-align:left}.table-header{display:none}.payment-row{padding:1rem;border-bottom:1px solid var(--border-color);background:#fff;margin-bottom:.5rem;border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.col-date:before{content:"Dato: ";font-weight:600;color:var(--text-secondary)}.col-description:before{content:"Beskrivelse: ";font-weight:600;color:var(--text-secondary)}.col-amount:before{content:"Beløp: ";font-weight:600;color:var(--text-secondary)}.col-status:before{content:"Status: ";font-weight:600;color:var(--text-secondary)}.col-amount,.col-status{text-align:left}.method-header{flex-direction:column;align-items:stretch;gap:1rem}.method-info{justify-content:center;text-align:center}.method-status{justify-content:center}.current-info{flex-direction:column;align-items:stretch;gap:.5rem}.method-actions{justify-content:center}.report-actions{flex-direction:column;align-items:stretch}.pagination{flex-direction:column;gap:1rem;text-align:center}}@media(max-width:480px){.income-card{padding:1.5rem}.income-amount{font-size:2rem}.payment-method{margin-bottom:1rem}.method-content{padding:1rem}.setting-card,.report-card{padding:1.5rem}}@media(max-width:768px){.notification{right:1rem;left:1rem;transform:translateY(-100%)}.notification.show{transform:translateY(0)}}.courses-section{padding:1rem 0}.courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.course-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;overflow:hidden;transition:transform .2s,box-shadow .2s}.course-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.course-image{width:100%;height:140px;background-color:#f3f4f6;position:relative}.course-status{position:absolute;top:10px;right:10px;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}.status-published{background:#22c55e;color:#fff}.status-draft{background:#f59e0b;color:#fff}.status-archived{background:#6b7280;color:#fff}.course-content{padding:1rem}.course-category{font-size:12px;color:#666;margin-bottom:.5rem}.course-title{font-size:1.1rem;margin:0 0 .5rem;font-weight:600;color:var(--text-primary)}.course-description{font-size:13px;color:#666;margin:0 0 1rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.course-stats{display:flex;gap:1rem;font-size:12px;color:#888;margin-bottom:1rem;flex-wrap:wrap}.course-actions{display:flex;gap:.5rem}.course-actions .btn-primary{flex:1;padding:.5rem;font-size:13px}.course-actions .btn-secondary{padding:.5rem 1rem;font-size:13px}.course-actions .btn-icon{padding:.5rem;background:none;border:1px solid #ddd;border-radius:8px;cursor:pointer}.course-actions .btn-icon:hover{background:#f3f4f6}.add-card-btn.course-theme{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}.add-card-btn.course-theme:hover{background:linear-gradient(135deg,#4f46e5,#7c3aed)}@media(max-width:768px){.courses-grid{grid-template-columns:1fr}}.course-loading,.course-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center}.loading-spinner{width:40px;height:40px;border:3px solid #f3f4f6;border-top-color:var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-icon{font-size:4rem;margin-bottom:1rem}.course-mobile-info,.mobile-info-bar{display:none}.course-hero{position:relative;margin-top:-1rem}.course-hero-image{height:400px;position:relative;overflow:hidden}.hero-slider{display:flex;height:100%;will-change:transform}.hero-slider.snapping{transition:transform .3s ease-out}.hero-slider img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;flex-shrink:0;pointer-events:none;-webkit-user-drag:none}.hero-dots{position:absolute;bottom:10px;left:50%;transform:translate(-50%);display:flex;gap:6px;z-index:5}.hero-dot{width:8px;height:8px;border-radius:50%;background:#ffffff80;transition:background .2s}.hero-dot.active{background:#fff}.course-hero-overlay{position:absolute;inset:0;background:linear-gradient(to top,#000c,#0000004d,#0000001a)}.course-hero-content{position:relative;z-index:1;padding:2rem;max-width:1200px;margin:0 auto;width:100%;color:#fff}.course-breadcrumb{font-size:.875rem;margin-bottom:1rem;opacity:.8}.course-breadcrumb a{color:#fff;text-decoration:none}.course-breadcrumb a:hover{text-decoration:underline}.course-badge{display:inline-block;background:#fff3;backdrop-filter:blur(10px);padding:.5rem 1rem;border-radius:20px;font-size:.875rem;margin-bottom:1rem}.course-hero-content .course-title{font-size:2.5rem;font-weight:700;margin-bottom:.5rem;line-height:1.2}.course-tagline{font-size:1.125rem;opacity:.9;margin-bottom:1rem;max-width:600px}.course-meta{display:flex;flex-wrap:wrap;gap:1.5rem}.meta-item{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.meta-icon{font-size:1rem}.course-container{max-width:1200px;margin:0 auto;padding:2rem;display:grid;grid-template-columns:1fr 380px;gap:2rem}.course-main{min-width:0}.course-section{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 1px 3px #00000014}.section-title{font-size:1.25rem;font-weight:600;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:none}.instructor-card{display:flex;align-items:center;gap:1rem}.instructor-avatar{width:70px;height:70px;border-radius:50%;-o-object-fit:cover;object-fit:cover}.instructor-info{flex:1}.instructor-info h3{margin:0 0 .25rem;font-size:1.1rem}.instructor-title{color:#666;font-size:.875rem;margin:0 0 .5rem}.instructor-stats{display:flex;gap:1rem;font-size:.8rem;color:#888}.instructor-profile-btn{white-space:nowrap}.course-description{line-height:1.8;color:#444}.course-description p{margin-bottom:1rem}.learning-outcomes{display:grid;gap:.75rem}.outcome-item{display:flex;align-items:flex-start;gap:.75rem}.outcome-icon{color:var(--accent-color);font-weight:700;font-size:1.1rem}.curriculum-list{display:flex;flex-direction:column;gap:.5rem}.curriculum-item{background:#f8fafc;border-radius:8px;padding:1rem;transition:background .2s}.curriculum-item:hover{background:#f1f5f9}.curriculum-header{display:flex;align-items:flex-start;gap:1rem}.lesson-number{width:28px;height:28px;background:var(--primary-color);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;flex-shrink:0}.lesson-info{flex:1}.lesson-title{font-weight:500}.lesson-desc{font-size:.875rem;color:#666;margin:.25rem 0 0}.lesson-duration{font-size:.8rem;color:#888}.hero-gallery-thumbs{display:flex;gap:.4rem;padding:.5rem 0;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;background:#f8fafc}.hero-gallery-thumbs::-webkit-scrollbar{display:none}.hero-gallery-thumb{width:80px;height:60px;-o-object-fit:cover;object-fit:cover;border-radius:6px;cursor:pointer;flex-shrink:0;transition:opacity .2s;border:2px solid transparent}.hero-gallery-thumb:hover{opacity:.8;border-color:var(--primary-color, #2563eb)}.hero-gallery-thumb.active{border-color:var(--primary-color, #2563eb);opacity:1}.course-video{width:100%;border-radius:8px}.reviews-summary{text-align:center;padding:1.5rem;background:#f8fafc;border-radius:8px;margin-bottom:1.5rem}.rating-big .rating-number{font-size:3rem;font-weight:700;color:var(--text-primary)}.rating-stars{font-size:1.5rem;margin:.5rem 0}.rating-count{color:#666;font-size:.875rem}.reviews-list{display:flex;flex-direction:column;gap:1rem}.review-item{padding:1rem;background:#f8fafc;border-radius:8px}.review-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.reviewer-avatar{width:40px;height:40px;border-radius:50%;-o-object-fit:cover;object-fit:cover}.reviewer-info{flex:1}.reviewer-name{font-weight:500;display:block}.review-date{font-size:.8rem;color:#888}.review-rating{font-size:.9rem}.review-text{color:#555;line-height:1.6;margin:0}.no-reviews{text-align:center;padding:2rem;color:#888}.sidebar-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 4px 12px #0000001a}.sidebar-card.sticky{position:sticky;top:100px;max-height:calc(100vh - 120px);overflow-y:auto}.course-sidebar{position:relative}.course-sidebar:after{content:"";position:sticky;bottom:0;left:0;right:0;height:40px;background:linear-gradient(to top,white,transparent);pointer-events:none;display:block}.price-section{text-align:center;padding-bottom:1rem;border-bottom:1px solid #eee;margin-bottom:1rem}.price-tag{display:inline-flex;align-items:baseline;gap:.2rem;justify-content:center}.price-amount{font-size:1.15rem;font-weight:700;color:var(--text-primary)}.price-period{color:#666;font-size:.8rem}.free-trial{margin-top:.5rem}.trial-badge{display:inline-block;background:#ecfdf5;color:#059669;padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:500}.sidebar-instructor{padding:1rem;background:#f8fafc;border-radius:12px;margin-bottom:1rem}.sidebar-instructor-header{display:flex;gap:.75rem;align-items:center;margin-bottom:1rem}.sidebar-instructor-avatar{width:50px;height:50px;border-radius:50%;-o-object-fit:cover;object-fit:cover}.sidebar-instructor-info{flex:1}.sidebar-instructor-name-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.sidebar-instructor-name-row h4{margin:0;font-size:1rem;font-weight:600}.sidebar-instructor-badges{display:flex;gap:.25rem}.sidebar-instructor-rating{display:flex;align-items:center;gap:.35rem;font-size:.8rem}.sidebar-instructor-rating .stars{color:#f59e0b}.sidebar-instructor-rating .rating-text{color:#666}.sidebar-instructor-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;text-align:center;padding:.75rem 0;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;margin-bottom:.75rem}.sidebar-stat{display:flex;flex-direction:column}.sidebar-stat .stat-value{font-weight:700;font-size:1rem;color:var(--text-primary)}.sidebar-stat .stat-label{font-size:.65rem;color:#666;text-transform:uppercase;letter-spacing:.02em}.sidebar-stat .stat-value.rate-excellent{color:#10b981}.sidebar-stat .stat-value.rate-good{color:#3b82f6}.sidebar-stat .stat-value.rate-average{color:#f59e0b}.sidebar-stat .stat-value.rate-low{color:#ef4444}.completion-rate-stat{position:relative}.completion-rate-stat:after{content:"✓";position:absolute;top:-2px;right:-2px;font-size:.5rem;color:#10b981}.sidebar-instructor-link{display:block;text-align:center;color:var(--primary-color);font-size:.85rem;font-weight:500;text-decoration:none}.sidebar-instructor-link:hover{text-decoration:underline}.sidebar-instructor-meta,.mobile-instructor-meta{font-size:.75rem;color:#64748b;margin-top:.1rem}.instructor-all-badges{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.2rem}.instructor-all-badges:empty{display:none}.all-badge-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .5rem;border-radius:20px;font-size:.7rem;font-weight:500;background:#f1f5f9;color:#334155;white-space:nowrap}.all-badge-icon{font-size:.8rem;line-height:1}.all-badge-chip.badge-bragd{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e}.all-badge-chip.badge-verified{background:#dcfce7;color:#166534}.all-badge-chip.badge-ambassador{background:#d1fae5;color:#065f46}.all-badge-chip.badge-referrer{background:#fef9c3;color:#854d0e}.all-badge-chip.badge-pro{background:linear-gradient(135deg,#ede9fe,#ddd6fe);color:#5b21b6}.all-badge-chip.badge-top{background:linear-gradient(135deg,#fff7ed,#fed7aa);color:#9a3412}.all-badge-chip.badge-fast{background:#dbeafe;color:#1e40af}.sidebar-details{margin-bottom:1rem}.detail-item{display:flex;align-items:center;padding:.75rem 0;border-bottom:1px solid #f3f4f6}.detail-item:last-child{border-bottom:none}.detail-icon{width:24px;font-size:1rem}.detail-label{flex:1;color:#666;font-size:.9rem}.detail-value{font-weight:500;font-size:.9rem}.availability-preview{background:#f8fafc;border-radius:8px;padding:1rem;margin-bottom:1rem}.availability-preview h4{font-size:.9rem;margin:0 0 .75rem}.availability-days{display:flex;flex-direction:column;gap:.5rem}.availability-day{display:flex;justify-content:space-between;font-size:.85rem}.day-name{font-weight:500}.day-times{color:#666}.availability-slot-item{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:.75rem;cursor:pointer;transition:all .2s ease;display:flex;justify-content:space-between;align-items:center}.availability-slot-item:hover{border-color:#3b82f6;background:#f0f7ff;transform:translate(4px)}.availability-slot-item .slot-date{font-weight:500;color:#1e293b;font-size:.85rem}.availability-slot-item .slot-time{color:#3b82f6;font-weight:600;font-size:.85rem}.main-availability-days{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem}.main-availability-days .availability-slot-item{justify-content:center;text-align:center;flex-direction:column;gap:.15rem;padding:.6rem 1rem}.suggest-time-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:9999;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}.suggest-time-overlay.show{opacity:1;visibility:visible}.suggest-time-box{background:#fff;border-radius:16px;padding:1.5rem;width:90%;max-width:400px;position:relative;box-shadow:0 20px 60px #00000026}.suggest-time-close{position:absolute;top:.75rem;right:.75rem;background:none;border:none;font-size:1.5rem;color:#94a3b8;cursor:pointer;line-height:1}.suggest-time-box h3{margin:0 0 1rem;font-size:1.1rem;font-weight:700}.suggest-time-selected{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#f0f7ff;border:1px solid #bfdbfe;border-radius:10px;margin-bottom:.75rem}.suggest-time-icon{font-size:1.5rem}.suggest-time-date{font-weight:600;color:#1e293b;font-size:.95rem}.suggest-time-time{color:#3b82f6;font-weight:600;font-size:.9rem}.suggest-time-desc{font-size:.82rem;color:#64748b;margin:0 0 .75rem}.suggest-time-msg{width:100%;border:1px solid #e2e8f0;border-radius:8px;padding:.6rem;font-size:.85rem;resize:none;font-family:inherit;margin-bottom:.75rem;box-sizing:border-box}.suggest-time-msg:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}.suggest-time-send{width:100%}.booking-course-info{text-align:center;padding:1rem;background:#f8fafc;border-radius:8px;margin-bottom:1rem}.booking-course-info h4{margin:0 0 .25rem;font-size:1.1rem;color:#1e293b}.booking-course-info p{margin:0;color:#64748b;font-size:.9rem}.booking-price-section{background:#f0f7ff;border-radius:8px;padding:1rem;margin-top:1rem}.booking-price-section .price-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.booking-price-section .price-row:last-child{margin-bottom:0}.booking-price-section .booking-price{font-size:1.25rem;font-weight:700;color:#3b82f6}.booking-price-section .free-lesson{color:#22c55e;font-size:.85rem}.booking-price-section .booking-discount{color:#22c55e;font-weight:600}.sidebar-actions{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.btn-large{padding:1rem;font-size:1rem}.btn-enroll{background:linear-gradient(135deg,var(--primary-color),#4f46e5)}.sidebar-share{display:flex;align-items:center;justify-content:center;gap:.75rem;padding-top:1rem;border-top:1px solid #eee;font-size:.875rem;color:#666}.share-buttons{display:flex;gap:.5rem}.share-btn{width:36px;height:36px;border:1px solid #ddd;border-radius:50%;background:#fff;cursor:pointer;font-size:1rem;transition:all .2s}.share-btn:hover{background:#f3f4f6;border-color:var(--primary-color)}.lightbox{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:10000}.lightbox-content{position:relative;max-width:90vw;max-height:90vh}.lightbox-content img{max-width:100%;max-height:90vh;border-radius:8px}.lightbox-close{position:absolute;top:-40px;right:0;background:none;border:none;color:#fff;font-size:2rem;cursor:pointer}.instructor-card{display:flex;flex-direction:column;gap:1rem}.instructor-main{display:flex;align-items:center;gap:1rem}.instructor-name-row{display:flex;align-items:center;gap:.5rem}.instructor-badges{display:flex;gap:.25rem}.instructor-badge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;font-size:.7rem}.instructor-badge.verified{background:#22c55e;color:#fff}.instructor-badge.ambassador{background:#f59e0b;color:#fff}.instructor-badge.fast-response{background:#3b82f6;color:#fff}.instructor-rating{display:flex;align-items:center;gap:.5rem;font-size:.85rem}.instructor-rating .rating-stars{color:#f59e0b}.instructor-rating .rating-value{font-weight:600}.instructor-rating .rating-count{color:#666}.instructor-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;padding:1rem;background:#f8fafc;border-radius:8px}.instructor-stats-grid .stat-item{display:flex;align-items:center;gap:.5rem}.instructor-stats-grid .stat-icon{font-size:1.25rem}.instructor-stats-grid .stat-content{display:flex;flex-direction:column}.instructor-stats-grid .stat-value{font-weight:600;color:var(--text-primary)}.instructor-stats-grid .stat-label{font-size:.7rem;color:#666}.qna-carousel-section{padding:3rem 0;background:linear-gradient(180deg,#fff,#f8fafc)}.qna-carousel-container{max-width:800px;margin:0 auto;padding:0 1rem;text-align:center}.qna-carousel-container .section-title{margin-bottom:1.5rem;font-size:1.5rem}.qna-carousel-wrapper{display:flex;align-items:center;gap:1rem;justify-content:center}.qna-nav-btn{width:44px;height:44px;border-radius:50%;border:2px solid var(--border-color);background:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.5rem;color:#666;transition:all .2s;flex-shrink:0}.qna-nav-btn:hover{border-color:var(--primary-color);color:var(--primary-color);background:var(--primary-color-alpha, rgba(37, 99, 235, .05))}.qna-carousel-card{flex:1;max-width:600px;background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 20px #00000014;border:1px solid #e5e7eb;text-align:left;min-height:180px;display:flex;flex-direction:column}.qna-question-text{font-size:1.1rem;font-weight:600;color:var(--primary-color);margin-bottom:1rem;line-height:1.4}.qna-answer-text{color:#444;line-height:1.7;font-size:.95rem;flex:1}.qna-dots{display:flex;justify-content:center;gap:.5rem;margin-top:1.5rem}.qna-dot{width:10px;height:10px;border-radius:50%;background:#d1d5db;cursor:pointer;transition:all .2s}.qna-dot:hover{background:#9ca3af}.qna-dot.active{background:var(--primary-color);transform:scale(1.2)}@media(max-width:640px){.qna-carousel-wrapper{gap:.5rem}.qna-nav-btn{width:36px;height:36px;font-size:1.25rem}.qna-carousel-card{padding:1.25rem;min-height:150px}.qna-question-text{font-size:1rem}.qna-answer-text{font-size:.9rem}}.package-prices-display{margin-top:.5rem}.package-prices-display h4{font-size:.8rem;margin:0 0 .4rem;color:#64748b;font-weight:500}.packages-list{display:flex;flex-direction:column;gap:.5rem}.package-price-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:#f8fafc;border-radius:6px;font-size:.85rem}.package-info{display:flex;align-items:center;gap:.5rem}.package-hours{font-weight:500}.package-discount{background:#dcfce7;color:#16a34a;padding:.125rem .375rem;border-radius:4px;font-size:.75rem;font-weight:600}.package-total{font-weight:600;color:var(--primary-color)}.travel-fee-display{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;padding:.5rem .75rem;background:#fef3c7;border-radius:6px;font-size:.85rem}.refund-policy-display,.semester-info-display{display:flex;align-items:center;gap:.5rem;padding:.5rem 0;font-size:.875rem;color:var(--text-secondary, #6b7280);border-top:1px solid var(--border-color, #f3f4f6);margin-top:.5rem}.course-reviews-section .reviews-carousel-container{display:flex;align-items:center;gap:.75rem;margin-top:1rem}.course-reviews-section .carousel-btn{background:#fff;border:1px solid #e2e8f0;width:44px;height:44px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.course-reviews-section .carousel-btn:hover:not(:disabled){background:#6366f1;border-color:#6366f1;color:#fff}.course-reviews-section .carousel-btn:disabled{opacity:.4;cursor:not-allowed}.course-reviews-section .reviews-carousel{flex:1;overflow:hidden}.course-reviews-section .review-card-carousel{background:#fff;border-radius:12px;padding:1.25rem;border:1px solid #e2e8f0}.course-reviews-section .review-card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.course-reviews-section .reviewer-avatar-carousel{width:40px;height:40px;border-radius:50%;-o-object-fit:cover;object-fit:cover;border:2px solid #e2e8f0}.course-reviews-section .reviewer-info-carousel{display:flex;flex-direction:column;flex:1}.course-reviews-section .reviewer-name-carousel{font-weight:600;color:#1e293b;font-size:.95rem}.course-reviews-section .review-date-carousel{font-size:.8rem;color:#94a3b8}.course-reviews-section .review-rating-carousel{display:flex;gap:2px}.course-reviews-section .review-rating-carousel .star{font-size:1rem}.course-reviews-section .review-rating-carousel .star.filled{color:#f59e0b}.course-reviews-section .review-rating-carousel .star.empty{color:#d1d5db}.course-reviews-section .review-text-carousel{color:#334155;line-height:1.5;font-size:.95rem;margin:0}.course-reviews-section .no-reviews-text{color:#94a3b8;font-style:italic;text-align:center;padding:1rem}.course-reviews-section .carousel-indicators{display:flex;justify-content:center;gap:.5rem;margin-top:1rem}.course-reviews-section .indicator-dot{width:8px;height:8px;border-radius:50%;background:#e2e8f0;cursor:pointer;transition:all .2s}.course-reviews-section .indicator-dot.active{background:#6366f1;width:24px;border-radius:4px}.course-reviews-section .indicator-dot:hover:not(.active){background:#c7d2fe}.course-reviews-section .reviews-summary{text-align:center}.course-reviews-section .rating-big{display:flex;flex-direction:column;align-items:center}.course-reviews-section .rating-stars{justify-content:center}.course-reviews-section .review-card-clickable{cursor:pointer;transition:border-color .2s,box-shadow .2s}.course-reviews-section .review-card-clickable:hover{border-color:#6366f1;box-shadow:0 2px 8px #6366f11f}.course-reviews-section .review-see-all{display:block;margin-top:.75rem;font-size:.85rem;color:#6366f1;font-weight:500}@media(max-width:640px){.course-reviews-section .carousel-btn{width:36px;height:36px}}.similar-courses-section{padding:3rem 0;background:#f8fafc;margin-top:3rem}.similar-courses-container{max-width:1400px;margin:0 auto;padding:0 2rem}.similar-courses-container .courses-grid{margin-top:1.5rem;display:block!important;grid-template-columns:unset!important;overflow:hidden;padding-bottom:1rem}@keyframes similar-marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.similar-marquee-track{display:flex;gap:1rem;width:-moz-max-content;width:max-content;animation:similar-marquee 240s linear infinite}.similar-marquee-track:hover{animation-play-state:paused}.similar-marquee-track>*{flex:0 0 260px}.similar-courses-carousel{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-top:1.5rem}.similar-course-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #00000014;cursor:pointer;transition:transform .2s,box-shadow .2s}.similar-course-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.similar-course-image{height:160px;background-size:cover;background-position:center;position:relative}.similar-course-image .free-badge{position:absolute;top:.75rem;left:.75rem;background:#22c55e;color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.7rem;font-weight:600}.similar-course-content{padding:1rem}.similar-course-title{font-size:1rem;margin:0 0 .5rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.similar-course-instructor{display:flex;align-items:center;gap:.5rem;font-size:.8rem;color:#666;margin-bottom:.75rem}.similar-course-instructor img{width:24px;height:24px;border-radius:50%;-o-object-fit:cover;object-fit:cover}.similar-course-footer{display:flex;justify-content:space-between;align-items:center;font-size:.85rem}.similar-course-price{font-weight:600;color:var(--primary-color)}.similar-course-enrolled{color:#666}@media(max-width:968px){.instructor-stats-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.instructor-stats-grid{grid-template-columns:1fr}.similar-courses-carousel{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}@media(max-width:968px){.course-container{grid-template-columns:1fr}.course-mobile-info{display:block}.course-sidebar{order:unset}.course-sidebar:after{display:none}.sidebar-card.sticky{position:static;max-height:none}.course-hero-image{height:300px}.course-hero-content .course-title{font-size:1.75rem}}@media(max-width:640px){.course-hero-content{padding:1rem}.course-meta{gap:1rem}.instructor-card{flex-wrap:wrap}.instructor-profile-btn{width:100%;margin-top:.5rem}}.selected-times-list{display:flex;flex-direction:column;gap:.5rem}.selected-time-item{display:flex;align-items:center;gap:.75rem;background:#ecfdf5;border:1px solid #22c55e;border-radius:8px;padding:.6rem .75rem}.selected-time-item .selected-date{font-weight:500;color:#166534;font-size:.85rem}.selected-time-item .selected-time{font-weight:600;color:#166534;margin-left:auto;font-size:.85rem}.selected-time-item .remove-time{background:none;border:none;color:#dc2626;cursor:pointer;font-size:.9rem;padding:.5rem .75rem;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:4px}.selected-time-item .remove-time:hover{background:#fee2e2}#btn-send-booking.not-ready{opacity:.5;cursor:not-allowed;pointer-events:none}#btn-send-booking:disabled{opacity:.6;cursor:wait}.send-error-message{color:#dc2626;font-size:.85rem;text-align:center;padding:.4rem .75rem;background:#fef2f2;border-radius:8px;margin-top:.5rem;animation:fadeIn .2s ease}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.shake{animation:shake .4s ease}.booking-free-note{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:2px solid #22c55e;border-radius:8px;padding:.75rem 1rem;text-align:center;margin-top:1rem}.booking-free-note .free-badge{color:#166534;font-weight:600;font-size:.95rem}.mob-back-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#fff;border-bottom:1px solid var(--border-color)}.mob-back-btn{display:flex;align-items:center;gap:4px;background:none;border:none;font-size:.9375rem;font-weight:600;color:var(--text-primary);cursor:pointer;padding:4px 0;font-family:inherit;white-space:nowrap}.mob-back-btn svg{flex-shrink:0}.mob-back-btn:active{opacity:.6}.mob-back-header .share-btn{display:flex;align-items:center;background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px}.group-sessions-section{padding:2rem 0}.group-sessions-container{max-width:900px;margin:0 auto;padding:0 1.5rem}.group-sessions-section .section-title{margin-bottom:1rem}.group-sessions-list{overflow:visible}.group-sessions-scroll{display:flex;gap:.75rem;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding-bottom:.5rem;scrollbar-width:thin}.group-sessions-scroll::-webkit-scrollbar{height:4px}.group-sessions-scroll::-webkit-scrollbar-thumb{background:var(--border-color, #cbd5e1);border-radius:4px}.group-session-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.5rem;padding:1rem;min-width:140px;max-width:160px;flex-shrink:0;border:1px solid var(--border-color, #e2e8f0);border-radius:12px;background:var(--surface-color, #fff);transition:border-color .2s,box-shadow .2s;scroll-snap-align:start;position:relative}.group-session-card:not(.full):hover{border-color:var(--primary-color, #6C63FF);box-shadow:0 2px 8px #6c63ff1f}.group-session-card.full{opacity:.5}.group-session-card.first-free{border-color:#22c55e;background:#f0fdf4}.session-free-badge{position:absolute;top:-8px;left:50%;transform:translate(-50%);background:#22c55e;color:#fff;font-size:.7rem;font-weight:600;padding:2px 8px;border-radius:10px;white-space:nowrap}.group-session-date{display:flex;flex-direction:column;align-items:center;font-size:.82rem;line-height:1.3}.session-day-name{text-transform:capitalize;font-weight:600;color:var(--text-primary, #1a1a1a)}.session-date-num{color:var(--text-secondary, #64748b);font-size:.78rem}.group-session-time-block{display:flex;flex-direction:column;align-items:center;gap:.1rem}.session-time{font-weight:500;font-size:.88rem;color:var(--text-primary, #1a1a1a)}.session-capacity{font-size:.78rem;color:var(--text-secondary, #64748b)}.session-capacity.capacity-full{color:#ef4444;font-weight:500}.session-location{font-size:.75rem;color:var(--text-tertiary, #94a3b8)}.group-session-action{display:flex;flex-direction:column;align-items:center;gap:.2rem;margin-top:auto}.btn-book-session{padding:.45rem 1.1rem;background:var(--primary-color, #6C63FF);color:#fff;border:none;border-radius:8px;font-size:.88rem;font-weight:500;cursor:pointer;transition:background .2s;white-space:nowrap}.btn-book-session:hover{background:var(--primary-hover, #5a52d5)}.btn-book-free{background:#22c55e}.btn-book-free:hover{background:#16a34a}.session-original-price{font-size:.75rem;color:var(--text-tertiary, #94a3b8);text-decoration:line-through}.session-full-badge{padding:.45rem 1rem;background:var(--bg-secondary, #f5f5f5);color:var(--text-secondary, #888);border-radius:8px;font-size:.85rem;font-weight:500}.no-sessions-text{text-align:center;color:var(--text-secondary, #64748b);font-size:.9rem;padding:1rem 0}.group-sessions-modal-info h4{font-size:1.05rem;font-weight:600;margin:0 0 .15rem}.group-sessions-modal-info p{font-size:.88rem;color:var(--text-secondary, #64748b);margin:0}.group-sessions-empty{text-align:center;padding:1.5rem 1rem}.group-sessions-empty .empty-icon{margin-bottom:.75rem}.group-sessions-empty .empty-title{font-size:1rem;font-weight:600;color:var(--text-primary, #1a1a1a);margin:0 0 .5rem}.group-sessions-empty .empty-desc{font-size:.88rem;color:var(--text-secondary, #64748b);line-height:1.5;margin:0 0 1.25rem}.btn-contact-from-modal{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.25rem;font-size:.95rem}
