:root{--font-heading: "Fraunces", serif;--font-body: "Montserrat", sans-serif;--font-button: "Montserrat", sans-serif;--bg-primary: #C4A57B;--bg-secondary: #D4B896;--bg-tertiary: #B89968;--bg-card: #FFFFFF;--text-primary: #1B1B1B;--text-secondary: #5D5A5E;--text-inverse: #FFFFFF;--accent-primary: #D84315;--accent-secondary: #FF8A65;--border-color: rgba(216, 67, 21, .2);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 24px;--radius-round: 9999px;--shadow-warm-glow: 0 4px 20px rgba(62, 39, 35, .1);--shadow-sm: 0 2px 8px rgba(62, 39, 35, .05);--transition-fast: .2s ease;--transition-normal: .3s ease;--glass-bg: rgba(252, 246, 240, .85);--glass-border: var(--border-color);--glass-blur: blur(16px);--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 48px;--spacing-xxl: 64px;--spacing-3xl: 96px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;min-height:100vh}a{text-decoration:none;color:inherit}button{cursor:pointer;border:none;background:none;font-family:inherit}input,select{font-family:inherit}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.btn-primary{background:var(--accent-gradient);color:#fff;padding:12px 24px;border-radius:var(--radius-md);font-weight:600;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.form-select{width:100%;padding:12px;border-radius:var(--radius-sm);border:1px solid var(--glass-border);background:#fff;color:var(--text-primary);font-size:1rem}:root{--ombre-1: #8B0000;--ombre-2: #9B1B30;--ombre-3: #7B2D8F;--ombre-4: #4B0082;--ombre-5: #2E8B57;--ombre-6: #3CB371;--ombre-7: #50C878;--gradient-primary-ombre: linear-gradient(135deg, var(--ombre-1) 0%, var(--ombre-4) 50%, var(--ombre-7) 100%);--gradient-primary-ombre-dark: linear-gradient(135deg, var(--ombre-2) 0%, var(--ombre-4) 50%, var(--ombre-6) 100%);--gradient-category-ceramics: linear-gradient(135deg, var(--ombre-1) 0%, var(--ombre-2) 100%);--gradient-category-painting: linear-gradient(135deg, var(--ombre-2) 0%, var(--ombre-3) 100%);--gradient-category-cookery: linear-gradient(135deg, var(--ombre-3) 0%, var(--ombre-4) 100%);--gradient-category-textiles: linear-gradient(135deg, var(--ombre-4) 0%, var(--ombre-5) 100%);--gradient-category-photography: linear-gradient(135deg, var(--ombre-5) 0%, var(--ombre-6) 100%);--gradient-category-performance: linear-gradient(135deg, var(--ombre-6) 0%, var(--ombre-7) 100%);--gradient-category-sculpture: linear-gradient(135deg, var(--ombre-7) 0%, var(--ombre-7) 100%);--color-ceramics: var(--ombre-1);--color-painting: var(--ombre-2);--color-cookery: var(--ombre-3);--color-textiles: var(--ombre-4);--color-photography: var(--ombre-5);--color-performance: var(--ombre-6);--color-sculpture: var(--ombre-7);--shadow-ombre-soft: 0 4px 12px rgba(139, 0, 0, .15);--shadow-ombre-medium: 0 6px 16px rgba(139, 0, 0, .25)}:root{--font-h1: 2.5rem;--font-h2: 1.5rem;--font-h3: 1.2rem;--font-body: 1rem;--font-small: .875rem;--weight-bold: 800;--weight-semibold: 700;--weight-medium: 600;--weight-normal: 400;--line-h1: 1.2;--line-h2: 1.3;--line-h3: 1.4;--line-body: 1.6}h1,.h1{font-family:var(--font-heading);font-size:var(--font-h1);font-weight:700;line-height:var(--line-h1);color:var(--text-primary);margin:0;letter-spacing:-.02em}h2,.h2{font-family:var(--font-heading);font-size:var(--font-h2);font-weight:700;line-height:var(--line-h2);color:var(--text-primary);margin:0;letter-spacing:-.01em}h3,.h3{font-family:var(--font-heading);font-size:var(--font-h3);font-weight:600;line-height:var(--line-h3);color:var(--text-primary);margin:0}p,body,.body{font-family:var(--font-body);font-size:var(--font-body);font-weight:var(--weight-normal);line-height:var(--line-body);color:var(--text-primary);margin:0}.category-tag-large,.stat-label,.section-text{color:var(--text-primary)!important}a,button.studio-link{text-decoration:none}a:hover,button.studio-link:hover{text-decoration:underline}.btn-primary,.btn-secondary,.category-pill{text-transform:none}.label-tiny{text-transform:uppercase;font-size:var(--font-small);letter-spacing:.05em;font-weight:var(--weight-semibold);color:var(--text-secondary)}.btn-primary,.btn-secondary,.btn-ombre{padding:12px 24px;border-radius:var(--radius-md);font-size:.95rem;font-weight:700;cursor:pointer;transition:all .3s ease;border:none;text-transform:uppercase;font-family:var(--font-button);letter-spacing:.05em}.category-btn{padding:10px 20px;border-radius:var(--radius-md);font-size:.85rem;font-weight:700;cursor:pointer;transition:all .3s ease;text-transform:uppercase;font-family:var(--font-button);letter-spacing:.05em}.category-btn.active{color:#fff;border:2px solid transparent}.category-btn:not(.active){background:#ffffff80;border:2px solid currentColor;opacity:.7}.category-btn:not(.active):hover{opacity:1}.category-ceramics{--category-color: var(--color-ceramics)}.category-painting{--category-color: var(--color-painting)}.category-cookery{--category-color: var(--color-cookery)}.category-textiles{--category-color: var(--color-textiles)}.category-photography{--category-color: var(--color-photography)}.category-dance{--category-color: var(--color-dance)}.category-btn.active.category-ceramics{background:var(--gradient-category-ceramics)}.category-btn.active.category-painting{background:var(--gradient-category-painting)}.category-btn.active.category-cookery{background:var(--gradient-category-cookery)}.category-btn.active.category-textiles{background:var(--gradient-category-textiles)}.category-btn.active.category-photography{background:var(--gradient-category-photography)}.category-btn.active.category-dance{background:var(--gradient-category-dance)}.category-btn:not(.active).category-ceramics{color:var(--color-ceramics)}.category-btn:not(.active).category-painting{color:var(--color-painting)}.category-btn:not(.active).category-cookery{color:var(--color-cookery)}.category-btn:not(.active).category-textiles{color:var(--color-textiles)}.category-btn:not(.active).category-photography{color:var(--color-photography)}.category-btn:not(.active).category-dance{color:var(--color-dance)}.nav-gift-vouchers,.nav-studio-login,.nav-student-login,.nav-host-class{background:var(--gradient-primary-ombre);color:#fff;border:none;padding:10px 20px;border-radius:24px;font-weight:600;cursor:pointer;transition:all .3s ease}.nav-gift-vouchers:hover,.nav-studio-login:hover,.nav-student-login:hover,.nav-host-class:hover{transform:translateY(-2px);box-shadow:var(--shadow-ombre-medium)}.card-frame{padding:3px;background:var(--gradient-primary-ombre);border-radius:16px;margin:24px 0}.card-content{background:#fff;border-radius:13px;padding:32px}.page-wrapper{background:var(--bg-primary);min-height:100vh;padding:24px}.reviews-container{max-height:400px;overflow-y:auto;overflow-x:hidden;padding-right:8px}.reviews-container::-webkit-scrollbar{width:8px}.reviews-container::-webkit-scrollbar-track{background:#b967ff1a;border-radius:10px}.reviews-container::-webkit-scrollbar-thumb{background:var(--gradient-primary-ombre);border-radius:10px}.reviews-container::-webkit-scrollbar-thumb:hover{background:var(--gradient-primary-ombre-dark)}.glass{background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border)}.btn-primary{background:var(--accent-gradient);color:#fff;padding:12px 24px;border-radius:var(--radius-md);font-weight:600;transition:transform var(--transition-fast),box-shadow var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 16px #8b5cf64d}.btn-secondary{border:1px solid var(--glass-border);color:var(--text-secondary);padding:12px;border-radius:var(--radius-md);font-weight:600;transition:all var(--transition-fast);background:transparent;display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-secondary:hover{background:#8b5cf60d;color:var(--text-primary)}.back-btn{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);color:var(--text-secondary);font-weight:500;cursor:pointer}.back-btn:hover{color:var(--text-primary)}.back-btn-float{display:flex;align-items:center;gap:var(--spacing-sm);padding:8px 16px;border-radius:var(--radius-full);border:none;cursor:pointer;margin-bottom:var(--spacing-md);color:var(--text-primary);font-weight:500}.full-width{width:100%;margin-top:var(--spacing-md)}.text-secondary{color:var(--text-secondary)}.text-primary{color:var(--text-primary)}.placeholder-view{min-height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:var(--radius-lg)}.app-container{min-height:100vh;display:flex;flex-direction:column;background:transparent}.container{max-width:1600px;margin:0 auto;padding:0 var(--spacing-sm)}.main-content{padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl)}.page-header{margin-bottom:var(--spacing-xl);text-align:center}.page-header h1{font-size:3.5rem;font-weight:700;margin-bottom:var(--spacing-sm);letter-spacing:-.02em}.page-header p{color:var(--text-secondary);font-size:1.25rem}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg)}.content-layout{display:flex;gap:var(--spacing-xl);margin-top:var(--spacing-lg)}.content-layout.full-page{justify-content:center}.view-container{flex:1}.list-workshop-page{padding-top:var(--spacing-xl);max-width:900px;margin:0 auto}.workshop-details-page{padding-bottom:100px}.details-main{display:grid;grid-template-columns:1fr 350px;gap:var(--spacing-xl);padding:var(--spacing-xxl) var(--spacing-xxl);border-radius:var(--radius-xl);max-width:1400px;margin:0 auto}.details-left{display:flex;flex-direction:column;gap:var(--spacing-xl)}.stats-strip{display:flex;flex-wrap:wrap;gap:var(--spacing-lg);padding:var(--spacing-lg) 0;border-top:1px solid var(--glass-border);border-bottom:1px solid var(--glass-border);margin:var(--spacing-lg) 0}.stat{display:flex;align-items:center;gap:var(--spacing-sm);font-size:1.1rem;color:var(--text-primary)}.details-header h1{font-size:3rem;line-height:1.1;margin:var(--spacing-sm) 0}.category-tag-large{display:inline-block;color:var(--accent-primary);font-weight:700;text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px;font-size:.9rem}.host-info-large{display:flex;align-items:center;gap:12px;margin-top:16px}.host-avatar{width:48px;height:48px;border-radius:50%;background:#eee;display:flex;align-items:center;justify-content:center;font-size:20px}.host-details{display:flex;flex-direction:column}.host-label{font-size:.9rem;color:var(--text-secondary)}.host-link-large{font-size:1.1rem;font-weight:600}.stat-details{display:flex;flex-direction:column}.stat-value{font-weight:700}.stat-label{font-size:.85rem;color:var(--text-secondary)}.stat-badge{width:40px;height:40px;border-radius:50%;border:2px solid var(--accent-primary);display:flex;align-items:center;justify-content:center;color:var(--accent-primary);font-weight:700}.description-section{line-height:1.6;font-size:1.05rem;color:var(--text-secondary)}.section-heading{font-size:1.25rem;margin-bottom:12px;color:var(--text-primary)}.section-text{margin-bottom:24px}.itinerary-vertical{display:flex;flex-direction:column;gap:12px}.itinerary-item{display:flex;gap:16px;padding:12px;background:#ffffff80;border-radius:12px;align-items:center}.itinerary-time{font-weight:700;color:var(--accent-primary);min-width:70px;font-size:.9rem}.itinerary-activity{font-size:.95rem}.booking-sticky{margin-top:auto;padding:20px;background:var(--bg-secondary);border-radius:16px;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--glass-border)}.price-label{font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.price-amount-large{font-size:2rem;font-weight:800;color:var(--text-primary)}.booking-actions{display:flex;gap:12px}.action-button-large{padding:16px 32px;font-size:1.1rem}.action-button-icon{padding:16px;border-radius:50%}.details-right{display:flex;flex-direction:column;gap:var(--spacing-lg)}.photo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md);padding:var(--spacing-lg);border-radius:var(--radius-lg);background:#ffffff80}.grid-photo-item{aspect-ratio:1 / 1;border-radius:var(--radius-md);overflow:hidden;position:relative}.grid-photo-item img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-normal)}.grid-photo-item:hover img{transform:scale(1.05)}@media(max-width:768px){.page-header h1{font-size:2.5rem}.grid{grid-template-columns:1fr}.content-layout{flex-direction:column}.details-main{flex-direction:column;gap:30px}}.table-container{overflow-x:auto}.accounting-table{width:100%;border-collapse:collapse;min-width:600px}.accounting-table th,.accounting-table td{padding:16px 24px;text-align:left;border-bottom:1px solid var(--glass-border)}.accounting-table th{font-weight:600;color:var(--text-secondary);font-size:.9rem}.payout-cell{font-weight:700;color:var(--accent-primary)}.status-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:.85rem;font-weight:500}.status-pill.paid{background:#10b9811a;color:#10b981}.status-pill.pending{background:#f59e0b1a;color:#f59e0b}.reg-list-card{background:#fff;padding:var(--spacing-xl);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);border:1px solid var(--glass-border)}.student-table th{font-size:.9rem;color:var(--text-secondary);font-weight:600}.student-table td{font-size:.95rem}@keyframes modalIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes mirrorSlideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.medium-sidebar{width:max-content;padding-right:20px;position:sticky;top:100px;max-height:calc(100vh - 120px);overflow-y:auto;display:flex;flex-direction:column;gap:var(--spacing-md);padding-bottom:20px}.sidebar-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.sidebar-header h3{font-size:1.1rem;font-weight:600}.medium-grid{display:flex;flex-direction:column;gap:var(--spacing-sm)}.medium-toggle{width:100%;padding:12px 16px;border-radius:var(--radius-md);font-size:.9rem;font-weight:600;border:1px solid transparent;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:flex-start;position:relative;gap:12px;--btn-color: var(--text-secondary)}.medium-toggle.all-btn{--btn-color: var(--text-secondary)}.medium-toggle.all-btn.active{--btn-color: var(--accent-primary);background:var(--accent-gradient);color:#fff;box-shadow:0 4px 6px #8b5cf666;border-color:transparent}.medium-toggle.all-btn:not(.active){background:#fff;border-color:var(--glass-border)}.medium-toggle.inactive{background:color-mix(in srgb,var(--btn-color),transparent 80%);border-color:color-mix(in srgb,var(--btn-color),transparent 40%);color:var(--btn-color);transform:translateY(1px)}.medium-toggle.inactive:hover{background:color-mix(in srgb,var(--btn-color),transparent 70%)}.medium-toggle.active:not(.all-btn){background:var(--btn-color);border-color:var(--btn-color);color:#fff;box-shadow:0 4px 12px color-mix(in srgb,var(--btn-color),transparent 60%);transform:translateY(-2px)}.medium-toggle.disabled{opacity:1;cursor:default;background:#fff;border-color:#e5e7eb;color:#000;transform:none!important;box-shadow:none;filter:none}.medium-label{white-space:nowrap}.workshop-card{border-radius:var(--radius-md);overflow:hidden;background:var(--bg-card);border:2px solid transparent;background-image:linear-gradient(var(--bg-card),var(--bg-card)),var(--gradient-primary-ombre);background-origin:border-box;background-clip:padding-box,border-box;transition:transform var(--transition-normal),box-shadow var(--transition-normal)}.workshop-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-warm-glow)}.card-image{position:relative;height:240px}.card-image img{width:100%;height:100%;object-fit:cover}.sold-out-overlay{position:absolute;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2}.sold-out-overlay span{background:var(--error);color:#fff;padding:8px 16px;border-radius:var(--radius-md);font-weight:700;font-size:1.1rem;transform:rotate(-10deg);border:2px solid white;box-shadow:var(--shadow-lg)}.category-badge{position:absolute;top:var(--spacing-md);right:var(--spacing-md);padding:4px 12px;border-radius:var(--radius-sm);font-size:.8rem;font-weight:600}.hover-overlay{position:absolute;inset:0;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease;z-index:1}.workshop-card:hover .hover-overlay{opacity:1}.view-btn{background:#ffffffe6;color:var(--text-primary);border:none;padding:8px 16px;border-radius:9999px;font-weight:600;font-size:.85rem;transform:translateY(10px);transition:transform .2s ease;box-shadow:var(--shadow-md);cursor:pointer}.workshop-card:hover .view-btn{transform:translateY(0)}.card-body{padding:var(--spacing-xl) 32px}.card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--spacing-xs)}.card-header h3{font-size:1.1rem;font-weight:600}.rating{display:flex;align-items:center;gap:4px;font-weight:600;font-size:.9rem}.host{color:var(--text-secondary);font-size:.85rem;margin-bottom:var(--spacing-sm)}.location{display:flex;align-items:center;gap:6px;color:var(--text-secondary);font-size:.8rem;margin-bottom:var(--spacing-md)}.card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--glass-border)}.price .amount{font-size:1.15rem;font-weight:700}.price .unit{color:var(--text-secondary);font-size:.8rem;margin-left:4px}.workshop-card.unverified .card-image img{filter:grayscale(100%);opacity:.8}.workshop-card.unverified{cursor:default;border-color:var(--border-subtle)}.workshop-card.unverified:hover{transform:none;box-shadow:none}.watermark{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:900;color:#fff6;transform:rotate(-30deg);text-shadow:0 2px 4px rgba(0,0,0,.2);pointer-events:none;z-index:5;text-transform:uppercase;letter-spacing:2px;background:#0000001a;-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px)}.claim-btn{width:100%;background:var(--gradient-primary);color:#fff;border:none;padding:10px 16px;border-radius:var(--radius-md);font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease;text-align:center;box-shadow:var(--shadow-md)}.claim-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);filter:brightness(1.1)}.registration-header{margin-bottom:var(--spacing-xl)}.registration-header h1{font-size:2.5rem;margin-bottom:var(--spacing-sm)}.registration-header p{color:var(--text-secondary);font-size:1.1rem}.list-workshop-form{padding:var(--spacing-xl);border-radius:var(--radius-lg);background:#f4ffe3;border:1px solid rgba(139,92,246,.1);box-shadow:var(--shadow-sm)}.form-section{margin-bottom:var(--spacing-xl)}.form-section h3{font-size:1.3rem;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--accent-primary);color:var(--accent-primary)}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{display:block;margin-bottom:var(--spacing-sm);color:var(--text-primary);font-weight:600;font-size:.95rem}.form-input,.form-select,.form-textarea,input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=time],select,textarea{width:100%;padding:16px;border:2px solid var(--glass-border);border-radius:var(--radius-md);background:#fffc;font-size:1rem;transition:all var(--transition-normal);color:var(--text-primary)}.form-group input:focus,.form-group textarea:focus,.form-select:focus{outline:none;border-color:var(--accent-secondary);box-shadow:0 0 0 3px #ec48991a}.form-group textarea{resize:vertical}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg)}.instruction-text{color:var(--text-secondary);margin-bottom:var(--spacing-lg);font-size:.95rem;font-style:italic}.photo-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}.photo-upload-box{aspect-ratio:1 / 1;border-radius:var(--radius-md);cursor:pointer;overflow:hidden;position:relative;border:2px solid var(--accent-primary);background:#fff;transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.photo-upload-box:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--accent-secondary)}.upload-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-sm);color:var(--accent-primary)}.image-preview-container{height:100%;width:100%;position:relative}.image-preview{width:100%;height:100%;object-fit:cover}.edit-overlay{position:absolute;inset:0;background:#8b5cf6cc;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-xs);opacity:0;transition:opacity var(--transition-fast);color:#fff}.image-preview-container:hover .edit-overlay{opacity:1}.photo-label{position:absolute;bottom:0;left:0;right:0;padding:8px;background:#ffffffe6;color:var(--text-primary);font-weight:600;font-size:.8rem;text-align:center;border-top:1px solid var(--glass-border)}.publish-btn{width:100%;font-size:1.1rem;padding:16px;margin-top:var(--spacing-lg);background:var(--accent-gradient);color:#fff;font-weight:700;border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.publish-success{padding:80px;text-align:center;border-radius:var(--radius-lg);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg)}.success-icon{color:#10b981}.redirect-text{color:var(--text-secondary);font-size:.9rem;margin-top:var(--spacing-md)}@media(max-width:600px){.photo-grid{grid-template-columns:1fr}}.mode-switcher{display:flex;gap:var(--spacing-sm);padding:var(--spacing-xs);background:var(--bg-tertiary);border-radius:var(--radius-md);margin:0 auto var(--spacing-lg) auto;width:fit-content}.mode-btn{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);color:var(--text-secondary);font-weight:500;transition:all var(--transition-fast)}.mode-btn.active{background:var(--accent-gradient);color:#fff}.bulk-textarea{width:100%;font-family:Monaco,Consolas,monospace;font-size:.9rem;line-height:1.4;padding:var(--spacing-md);border-radius:var(--radius-sm);border:1px solid var(--glass-border);background:#ffffff80;resize:vertical;margin-top:var(--spacing-sm)}.modal-overlay{position:fixed;inset:0;background:#c4a57b;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);overflow:hidden}.modal-content{width:100%;max-width:500px;max-height:90vh;padding:var(--spacing-xl);border-radius:var(--radius-lg);animation:modalIn .3s ease-out;background:#d4b896;border:1px solid #A0826D;box-shadow:0 8px 32px #5d4e3766,0 16px 48px #5d4e3733;overflow-y:auto;overflow-x:hidden}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:#a0826d33;border-radius:4px}.modal-content::-webkit-scrollbar-thumb{background:#5d4e3780;border-radius:4px}.modal-content::-webkit-scrollbar-thumb:hover{background:#5d4e37b3}@keyframes modalIn{0%{transform:scale(.9) translateY(-20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.modal-header{margin-bottom:var(--spacing-lg);text-align:center}.modal-header h2{font-size:1.75rem;font-weight:700;margin-bottom:var(--spacing-sm);background:linear-gradient(135deg,#8b0000,indigo,#50c878);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.modal-subtitle{color:#5d4e37;font-size:.95rem;margin-bottom:var(--spacing-xs);font-weight:500;line-height:1.4}.modal-step-indicator{color:#8b7355;font-size:.85rem;font-weight:600;margin-top:var(--spacing-sm)}.modal-close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:2rem;color:#5d4e37;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.modal-close:hover{background:#5d4e371a;transform:rotate(90deg)}.studio-registration-modal .form-group{margin-bottom:var(--spacing-lg)}.studio-registration-modal input,.studio-registration-modal textarea{background:#e8dcc4;border:2px solid #A0826D;color:#3e2f1f;padding:12px 16px;border-radius:var(--radius-sm);width:100%;font-size:.95rem;transition:all .2s ease}.studio-registration-modal input:focus,.studio-registration-modal textarea:focus{outline:none;border-color:#8b0000;box-shadow:0 0 0 3px #8b00001a}.studio-registration-modal label{display:block;margin-bottom:var(--spacing-xs);font-weight:600;color:#5d4e37;font-size:.9rem}.error-message{background:#8b00001a;border:1px solid #8B0000;color:#8b0000;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);margin-bottom:var(--spacing-md);font-size:.9rem}.modal-actions{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-xl)}.modal-actions button{flex:1}.modal-hero-img{width:100%;height:180px;object-fit:cover;border-radius:var(--radius-md);margin-bottom:var(--spacing-md)}.modal-host{color:var(--text-secondary);font-size:.95rem}.modal-hr{border:none;border-top:1px solid var(--glass-border);margin:var(--spacing-md) 0}.price-breakdown{margin-bottom:var(--spacing-lg)}.price-row{display:flex;justify-content:space-between;margin-bottom:var(--spacing-sm)}.price-row.highlight{color:var(--accent-secondary)}.price-row.total{font-size:1.5rem;font-weight:700;margin-top:var(--spacing-md)}.star-rating{display:flex;gap:4px;margin-bottom:8px}.star-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#e2e8f0;transition:color .2s ease}.star-btn.active{color:var(--accent-quirky)}.star-btn:hover{color:var(--accent-relaxing)}.review-form{padding:var(--spacing-md);margin-top:var(--spacing-lg)}.review-form h3,.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:block;margin-bottom:var(--spacing-xs);font-weight:500;color:var(--text-secondary)}.form-input,.form-textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--glass-border);border-radius:var(--radius-sm);background:#fffc;font-family:inherit;transition:border-color var(--transition-fast)}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--accent-quirky)}.form-textarea{min-height:100px;resize:vertical}.feedback-type-toggle{display:flex;gap:16px;margin-bottom:20px}.feedback-type-toggle .btn{flex:1;padding:10px;border-radius:var(--radius-sm);font-weight:500;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.feedback-type-toggle .btn-primary{background:var(--accent-quirky);color:#fff}.feedback-type-toggle .btn-secondary{background:transparent;border-color:var(--glass-border);color:var(--text-secondary)}.feedback-type-toggle .btn-secondary:hover{border-color:var(--accent-relaxing);color:var(--text-primary)}.review-list{margin-top:var(--spacing-lg);padding:var(--spacing-md)}.review-item{margin-bottom:var(--spacing-md)}.review-header{display:flex;justify-content:space-between;margin-bottom:var(--spacing-xs);color:var(--text-secondary);font-size:.9rem}.student-name{font-weight:600;color:var(--text-primary)}.star-rating.static .star{font-size:1rem;color:#e2e8f0}.star-rating.static .star.filled{color:var(--accent-quirky)}.review-comment{margin-top:var(--spacing-sm);line-height:1.5}.vendor-reply{margin-top:var(--spacing-sm);padding:var(--spacing-sm);background:var(--bg-secondary);border-left:3px solid var(--accent-relaxing);border-radius:0 var(--radius-sm) var(--radius-sm) 0;font-size:.9rem}.divider{border:0;height:1px;background:var(--glass-border);margin-top:var(--spacing-md)}.review-item:last-child .divider{display:none}.auth-modal-overlay{position:fixed;inset:0;background:#1e1b2e99;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2000}.auth-modal-container{padding:0;border-radius:24px;background:#fff;max-width:450px;width:90%;overflow:hidden;position:relative;box-shadow:0 20px 50px #0003}.auth-modal-close{position:absolute;top:16px;right:16px;background:#0000000d;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;transition:background .2s}.auth-modal-close:hover{background:#0000001a}.auth-modal-content{padding:32px 32px 24px}.auth-header{text-align:center;margin-bottom:24px}.auth-title{font-size:1.8rem;font-weight:700;background:var(--accent-gradient);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:8px}.auth-subtitle{color:var(--text-secondary);font-size:.95rem}.social-buttons{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.social-btn{display:flex;align-items:center;justify-content:center;gap:12px;padding:12px;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.social-btn.google{background:#fff;border:1px solid #e2e8f0;color:#1e293b}.social-btn.google:hover{background:#f8fafc}.social-btn.facebook{background:#1877f2;border:none;color:#fff}.social-btn.facebook:hover{background:#166fe5}.divider{display:flex;align-items:center;gap:16px;margin:0 0 24px;color:var(--text-secondary);font-size:.85rem}.divider-line{flex:1;height:1px;background:#e2e8f0}.form-group{margin-bottom:16px}.form-label{display:block;font-size:.85rem;font-weight:600;margin-bottom:6px;color:var(--text-secondary)}.form-input{width:100%;padding:12px;border-radius:12px;border:1px solid #e2e8f0;font-size:.95rem;outline:none;transition:border-color .2s}.form-input:focus{border-color:var(--accent-primary)}.submit-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;font-size:1rem;margin-top:24px}.auth-footer{padding:16px;background:var(--bg-tertiary);text-align:center;border-top:1px solid #e2e8f0}.toggle-btn{font-weight:700;color:var(--accent-primary);margin-left:6px;background:none;border:none;cursor:pointer}.toggle-btn:hover{text-decoration:underline}.success-container{padding:40px;border-radius:24px;text-align:center;background:#fff;max-width:400px;width:90%}.success-icon{margin:0 auto 20px;color:#22c55e}.map-view-container{width:100%!important;aspect-ratio:1 / 1;min-height:80vh!important;border-radius:var(--radius-xl)!important;overflow:hidden;box-shadow:var(--shadow-xl);margin-top:20px;border:4px solid white;background-color:#e5e7eb;border:3px solid var(--accent-primary)}.map-logo-marker{width:40px;height:40px;background:var(--bg-secondary);border:2px solid var(--accent-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--accent-primary);box-shadow:0 0 15px #8b5cf64d;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer}.map-logo-marker:hover{transform:scale(1.2) translateY(-5px);background:var(--accent-gradient);color:#fff;border-color:#fff;z-index:1000!important}.map-hover-label{text-align:center}.map-hover-label strong{display:block;margin-bottom:2px;color:var(--accent-primary)}.calendar-view-container{width:100%!important;aspect-ratio:1 / 1;min-height:80vh!important;border-radius:var(--radius-xl)!important;overflow:hidden;box-shadow:var(--shadow-xl);margin-top:20px;border:3px solid transparent;background:#f9f5f0;background-image:linear-gradient(#f9f5f0,#f9f5f0),var(--gradient-primary-ombre);background-origin:border-box;background-clip:padding-box,border-box}.calendar-event-btn{width:100%;height:100%;padding:0;display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;position:relative;overflow:visible}.calendar-event-btn .category-icon{filter:drop-shadow(0 2px 4px rgba(0,0,0,.1));transition:transform .2s cubic-bezier(.175,.885,.32,1.275)}.calendar-event-btn:hover .category-icon{transform:scale(1.2);filter:drop-shadow(0 4px 8px rgba(0,0,0,.2))}.calendar-tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(10px);background:var(--bg-secondary);border:1px solid var(--accent-primary);padding:8px 12px;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);opacity:0;pointer-events:none;transition:all .2s cubic-bezier(.4,0,.2,1);z-index:100;width:max-content;max-width:200px;text-align:center;display:flex;flex-direction:column;gap:2px}.calendar-event-btn:hover .calendar-tooltip{opacity:1;transform:translate(-50%) translateY(-8px);pointer-events:auto}.calendar-tooltip strong{color:var(--text-primary);font-size:.85rem;display:block}.calendar-tooltip span{color:var(--accent-primary);font-size:.75rem}.fc-event{background:transparent!important;border:none!important;padding:0!important}.fc-event-title{color:var(--text-primary)!important;font-weight:600!important;font-size:.85rem!important}.fc-daygrid-event-harness{margin:2px 4px!important}.fc-daygrid-event,.fc-event{height:80px!important;min-height:80px!important}.fc-v-event{background-color:transparent!important;border:none!important}.fc-theme-standard td,.fc-theme-standard th{border-color:var(--glass-border)!important}.fc-toolbar-title{color:var(--text-primary);font-size:1.5rem!important}.fc-button-primary{background-color:var(--bg-secondary)!important;border-color:var(--glass-border)!important;color:var(--text-secondary)!important}.fc-button-primary:hover{background-color:var(--bg-tertiary)!important;color:var(--text-primary)!important}.fc-button-active{background-color:var(--accent-primary)!important;color:#fff!important;border-color:transparent!important}.studio-page{padding-bottom:var(--spacing-xl);animation:fadeIn .4s ease-out}.studio-header{padding:var(--spacing-lg);border-radius:var(--radius-lg);margin-bottom:var(--spacing-lg);position:relative;display:flex;flex-direction:column;gap:var(--spacing-xs)}.studio-header h2{font-size:2rem;color:var(--text-primary);margin:0}.studio-header p{color:var(--text-secondary);font-size:1.1rem}.studio-header .btn-secondary{position:absolute;top:var(--spacing-lg);right:var(--spacing-lg);background:#fff;padding:8px 16px;border-radius:var(--radius-md);border:1px solid var(--glass-border);color:var(--text-secondary);font-weight:500;transition:all var(--transition-fast)}.studio-header .btn-secondary:hover{color:var(--text-primary);transform:translate(-4px);box-shadow:var(--shadow-sm)}.studio-map-container{margin-bottom:2rem;border-radius:var(--radius-lg);overflow:hidden}.studio-map-container h3{margin-bottom:1rem;font-size:1.2rem;padding:1rem;font-weight:600}.studio-map-wrapper{height:400px;width:100%}.map-loading{height:400px;width:100%;background:#f0f0f0;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}@media(max-width:768px){.studio-header .btn-secondary{position:static;width:fit-content;margin-top:var(--spacing-md)}}.payment-page{padding-bottom:50px;animation:fadeIn .5s ease-out}.payment-container{display:grid;grid-template-columns:2fr 1fr;gap:var(--spacing-xl);margin-top:var(--spacing-lg)}.payment-main{padding:var(--spacing-xl);border-radius:var(--radius-xl);background:#f4ffe3;box-shadow:var(--shadow-sm);border:1px solid rgba(139,92,246,.1)}.payment-sidebar{padding:var(--spacing-xl);border-radius:var(--radius-xl);height:fit-content;position:sticky;top:20px;background:#f4ffe3;box-shadow:var(--shadow-sm);border:1px solid rgba(139,92,246,.1)}.payment-header{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--border-color)}.payment-header h2{font-size:2rem;margin:var(--spacing-sm) 0}.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md);margin:var(--spacing-md) 0 var(--spacing-xl)}.method-btn{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-lg);border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease}.method-btn:hover{border-color:var(--accent-primary);transform:translateY(-2px);color:var(--text-primary)}.method-btn.active{background:#8b5cf61a;border-color:var(--accent-primary);color:var(--accent-primary)}.payment-form{display:flex;flex-direction:column;gap:var(--spacing-lg)}.eft-info,.snapscan-info{text-align:center;padding:var(--spacing-xl);border-radius:var(--radius-lg);background:#ffffff08}.bank-logos{display:flex;flex-wrap:wrap;gap:var(--spacing-md);justify-content:center;margin-top:var(--spacing-lg)}.bank-logo{padding:8px 16px;background:#fff;color:#333;border-radius:var(--radius-sm);font-weight:700;font-size:.8rem}.qr-placeholder{margin-top:var(--spacing-lg);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.qr-code{width:200px;height:200px;background:#fff;padding:10px;border-radius:var(--radius-lg)}.qr-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(5,1fr);width:100%;height:100%;gap:2px}.qr-cell{background:#eee}.qr-cell.filled{background:#000}.qr-amount{font-size:1.5rem;font-weight:700}.contact-section{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px dashed var(--border-color)}.security-notice{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);color:var(--text-secondary);font-size:.9rem;margin-top:var(--spacing-md)}.summary-workshop{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--border-color)}.summary-workshop img{width:80px;height:80px;object-fit:cover;border-radius:var(--radius-md)}.summary-workshop h4{margin-bottom:var(--spacing-xs)}.workshop-category{font-size:.9rem;color:var(--accent-primary)}.summary-details{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-xl)}.summary-row{display:flex;justify-content:space-between;color:var(--text-secondary)}.summary-row.total{color:var(--text-primary);font-size:1.2rem;font-weight:700;margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px dashed var(--border-color)}.summary-info{background:#8b5cf60d;padding:var(--spacing-md);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg)}.summary-info ul{padding-left:20px;margin-top:var(--spacing-sm);font-size:.9rem;color:var(--text-secondary)}.cancellation-policy{font-size:.85rem;color:var(--text-secondary);line-height:1.5}.payment-success{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px;max-width:600px;margin:100px auto;border-radius:var(--radius-xl)}.payment-success h2{font-size:2.5rem;margin:var(--spacing-lg) 0}.success-detail{color:var(--text-secondary);margin-top:var(--spacing-md)}@media(max-width:900px){.payment-container{grid-template-columns:1fr}.payment-sidebar{position:static;order:-1}}
