@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=Playfair+Display:ital,wght@0,700;1,400&display=swap");:root{--bg-primary:#0a0a0f;--bg-secondary:#111118;--bg-card:#16161f;--bg-card-hover:#1e1e2a;--border:hsla(0,0%,100%,.07);--border-hover:hsla(0,0%,100%,.15);--text-primary:#f0f0f8;--text-secondary:#88a;--text-muted:#55556a;--accent:#a855f7;--accent-dim:rgba(168,85,247,.15);--accent-glow:rgba(168,85,247,.3);--red:#ef4444;--green:#10b981;--glass:hsla(0,0%,100%,.03);--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--transition:0.25s cubic-bezier(0.4,0,0.2,1)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none;font-family:inherit}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}body:before{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");pointer-events:none;z-index:9999;opacity:.4}.container{max-width:1280px;margin:0 auto;padding:0 24px}.navbar{position:-webkit-sticky;position:sticky;top:0;z-index:100;background:rgba(10,10,15,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border);padding:0 24px}.navbar-inner{max-width:1280px;margin:0 auto;justify-content:space-between;height:64px;gap:24px}.logo,.navbar-inner{display:flex;align-items:center}.logo{gap:10px;font-weight:700;font-size:1.1rem;letter-spacing:-.02em;white-space:nowrap}.logo-icon{display:none}.logo-text{font-weight:800;font-size:1.2rem;background:linear-gradient(135deg,#fff 40%,var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.logo-img{width:40px;height:40px;object-fit:contain;border-radius:10px;box-shadow:0 4px 12px rgba(0,0,0,.3)}.search-bar{flex:1 1;max-width:400px;position:relative}.search-bar input{width:100%;background:var(--bg-card);border:1px solid var(--border);border-radius:999px;padding:9px 20px 9px 44px;color:var(--text-primary);font-size:.875rem;font-family:inherit;transition:border-color var(--transition),box-shadow var(--transition);outline:none}.search-bar input::placeholder{color:var(--text-muted)}.search-bar input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.search-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--text-muted);font-size:15px;pointer-events:none}.song-count{font-size:.8rem;color:var(--text-muted);background:var(--bg-card);border:1px solid var(--border);padding:5px 14px;border-radius:999px;white-space:nowrap}.hero{padding:72px 24px 48px;text-align:center;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:-100px;left:50%;transform:translateX(-50%);width:600px;height:400px;background:radial-gradient(ellipse,rgba(168,85,247,.12) 0,transparent 70%);pointer-events:none}.hero-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);background:var(--accent-dim);border:1px solid rgba(168,85,247,.25);padding:6px 16px;border-radius:999px;margin-bottom:24px}.hero h1{font-family:Playfair Display,Georgia,serif;font-size:clamp(2.2rem,6vw,4rem);font-weight:700;letter-spacing:-.03em;line-height:1.15;margin-bottom:16px;background:linear-gradient(135deg,#fff,rgba(240,240,255,.7));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero p{color:var(--text-secondary);font-size:1.05rem;max-width:520px;margin:0 auto 48px}.tags-filter{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:16px}.tag-btn{padding:6px 16px;border-radius:999px;font-size:.8rem;font-weight:500;border:1px solid var(--border);color:var(--text-secondary);background:var(--bg-card);transition:all var(--transition)}.tag-btn.active,.tag-btn:hover{border-color:var(--accent);color:var(--accent)}.tag-btn.active{background:var(--accent-dim)}.section-label{font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);padding:0 24px;max-width:1280px;margin-inline:auto;margin-bottom:20px}.song-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:20px;gap:20px;padding:0 24px 80px;max-width:1280px;margin:0 auto}.song-card{background:var(--bg-card);border:1px solid var(--border);overflow:hidden;cursor:pointer;transition:transform var(--transition),border-color var(--transition),box-shadow var(--transition);position:relative;display:flex;flex-direction:column}.song-card,.song-card:before{border-radius:var(--radius-lg)}.song-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,hsla(0,0%,100%,.03),transparent 60%);pointer-events:none}.song-card:hover{transform:translateY(-4px);border-color:var(--border-hover);box-shadow:0 20px 60px rgba(0,0,0,.5),0 0 0 1px var(--border-hover)}.card-cover{height:140px;position:relative;overflow:hidden;justify-content:center}.card-cover,.favorite-btn{display:flex;align-items:center}.favorite-btn{position:absolute;top:16px;right:16px;z-index:10;background:rgba(244,63,94,.12);border:1.5px solid rgba(244,63,94,.4);border-radius:999px;padding:8px 16px;gap:8px;color:hsla(0,0%,100%,.75);font-size:.85rem;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:all .25s;white-space:nowrap}.favorite-btn .fav-icon{font-size:1.2rem;line-height:1}.favorite-btn:hover{background:rgba(244,63,94,.25);border-color:rgba(244,63,94,.8);color:#fff;transform:scale(1.04)}.favorite-btn.active{background:rgba(244,63,94,.25);border-color:#f43f5e;color:#f43f5e}.card-fav-btn{position:absolute;top:10px;left:10px;z-index:10;background:rgba(0,0,0,.55);border:1.5px solid hsla(0,0%,100%,.2);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;color:hsla(0,0%,100%,.6);font-size:1.3rem;cursor:pointer;transition:all .2s;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.card-fav-btn:hover{background:rgba(244,63,94,.3);border-color:rgba(244,63,94,.7);color:#fff;transform:scale(1.1)}.card-fav-btn.active{background:rgba(244,63,94,.2);border-color:#f43f5e;color:#f43f5e}.lyrics-interleaved{display:none;max-width:1280px;padding:0 16px 64px}.lyric-pair{padding:14px 0;border-bottom:1px solid hsla(0,0%,100%,.05)}.lyric-pair:last-child{border-bottom:none}.lyric-es{display:flex;align-items:baseline;gap:10px;font-size:1.05rem;color:#f0f0f8;line-height:1.7;font-weight:500;letter-spacing:.01em}.lyric-es:before{content:"VO";flex-shrink:0;font-size:.6rem;font-weight:800;letter-spacing:.1em;color:#f43f5e;background:rgba(244,63,94,.12);border:1px solid rgba(244,63,94,.3);border-radius:4px;padding:1px 5px;line-height:1.6;align-self:center}.lyric-fr{display:flex;align-items:baseline;gap:10px;font-size:.88rem;color:#c4b5fd;line-height:1.6;font-style:italic;margin-top:5px;padding-left:2px;letter-spacing:.02em;opacity:.85}.lyric-fr:before{content:"FR";flex-shrink:0;font-size:.6rem;font-weight:800;letter-spacing:.1em;font-style:normal;color:#a78bfa;background:rgba(167,139,250,.12);border:1px solid rgba(167,139,250,.3);border-radius:4px;padding:1px 5px;line-height:1.6;align-self:center}.card-cover-bg{position:absolute;inset:0;opacity:.85}.card-cover-pattern{position:absolute;inset:0;background-image:repeating-linear-gradient(45deg,hsla(0,0%,100%,.03),hsla(0,0%,100%,.03) 1px,transparent 0,transparent 12px)}.card-cover-title{position:relative;font-family:Playfair Display,serif;font-style:italic;font-size:1.5rem;color:hsla(0,0%,100%,.9);text-align:center;padding:0 20px;text-shadow:0 2px 20px rgba(0,0,0,.5);z-index:1}.card-body{padding:20px;flex:1 1;display:flex;flex-direction:column;gap:12px}.card-artist-row{display:flex;align-items:center;justify-content:space-between}.card-artist{font-weight:600;font-size:.95rem;color:var(--text-primary)}.card-year{font-size:.75rem;color:var(--text-muted);background:var(--bg-secondary);padding:3px 10px;border-radius:999px}.card-title{font-family:Playfair Display,serif;font-size:1.3rem;color:var(--text-primary);line-height:1.3}.card-tags{display:flex;flex-wrap:wrap;gap:6px}.card-tag{font-size:.7rem;font-weight:500;color:var(--text-muted);background:var(--bg-secondary);padding:3px 10px;border-radius:999px;border:1px solid var(--border)}.card-cta{display:flex;align-items:center;gap:6px;font-size:.8rem;font-weight:600;color:var(--accent);margin-top:auto;padding-top:4px;transition:gap var(--transition)}.song-card:hover .card-cta{gap:10px}.no-results{grid-column:1/-1;text-align:center;padding:80px 20px;color:var(--text-muted)}.no-results-icon{font-size:3rem;margin-bottom:16px}.no-results h3{font-size:1.2rem;color:var(--text-secondary);margin-bottom:8px}.lyrics-page{min-height:100vh}.lyrics-header{padding:40px 24px 32px;max-width:1280px;margin:0 auto}.back-btn{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;font-weight:500;color:var(--text-secondary);padding:8px 16px;background:var(--bg-card);border:1px solid var(--border);border-radius:999px;transition:all var(--transition);margin-bottom:32px}.back-btn:hover{color:var(--text-primary);border-color:var(--border-hover)}.lyrics-meta{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}.lyrics-title{font-family:Playfair Display,serif;font-size:clamp(2rem,5vw,3.2rem);font-weight:700;letter-spacing:-.02em;line-height:1.15;background:linear-gradient(135deg,#fff,rgba(240,240,255,.75));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.lyrics-artist-badge{display:flex;align-items:center;gap:10px;color:var(--text-secondary);font-size:1rem;font-weight:500;margin-top:8px}.artist-dot{width:6px;height:6px;border-radius:50%;background:var(--accent)}.lyrics-tags{display:flex;flex-wrap:wrap;gap:8px}.lyrics-tag{font-size:.75rem;font-weight:500;color:var(--text-secondary);background:var(--bg-card);border:1px solid var(--border);padding:5px 14px;border-radius:999px}.divider{height:1px;background:var(--border);max-width:calc(1280px - 48px);margin-inline:auto;margin:0 24px 32px}.lyrics-columns{display:none}.lyrics-interleaved{display:block;max-width:760px;margin:0 auto;padding:0 32px 64px}.lyrics-column{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.lyrics-column:first-child{border-radius:var(--radius-lg) 0 0 var(--radius-lg);margin-right:-1px;border-right:none}.lyrics-column:last-child{border-radius:0 var(--radius-lg) var(--radius-lg) 0;border-left:1px solid var(--border)}.column-header{padding:16px 24px;background:var(--bg-secondary);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px}.column-flag{font-size:1.2rem}.column-label{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary)}.column-sublabel{font-size:.7rem;color:var(--text-muted);margin-left:auto}.lyrics-text{padding:28px;white-space:pre-line;font-size:.95rem;line-height:2;color:var(--text-primary);letter-spacing:.01em;height:100%}.lyrics-text p{margin:0}.nav-links{display:flex;gap:24px;font-weight:600;font-size:.95rem;align-items:center}.nav-links span{transition:color var(--transition);cursor:pointer;white-space:nowrap}.nav-links span:hover{color:#fff!important}.btn-add-song{background:linear-gradient(135deg,#c026d3,#7c3aed);color:#fff;border:none;padding:8px 18px;border-radius:999px;font-size:.85rem;font-weight:700;cursor:pointer;transition:all .2s cubic-bezier(.175,.885,.32,1.275);display:flex;align-items:center;gap:8px;box-shadow:0 4px 12px rgba(124,58,237,.3);white-space:nowrap}.btn-add-song:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 20px rgba(124,58,237,.4)}.btn-add-song:active{transform:scale(.96)}@media (max-width:900px){.navbar-inner{height:auto;padding:12px 0;flex-wrap:wrap;justify-content:center;gap:12px}.nav-links{order:2;width:100%;justify-content:center;gap:16px;font-size:.85rem}.search-bar{order:3;width:100%;max-width:none}.logo{order:1}}@media (max-width:600px){.nav-links{gap:12px}.btn-add-song span{display:none}.btn-add-song{padding:8px 12px}}.passe-video-container{position:relative;width:100%;aspect-ratio:4/5;background:#000;overflow:hidden;border-bottom:1px solid var(--border)}.passe-video{width:100%;height:100%;object-fit:contain;display:block}.passe-style-badge{position:absolute;top:12px;right:12px;padding:4px 12px;border-radius:999px;font-size:.75rem;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 4px 12px rgba(0,0,0,.3);z-index:10}.passe-card:hover{transform:translateY(-4px)}@media (max-width:768px){.nav-links{order:2;width:100%;justify-content:center;border-top:1px solid var(--border);padding-top:12px;margin-top:4px}}.card-footer{justify-content:space-between;margin-top:auto;padding-top:4px}.card-footer,.card-spotify{display:flex;align-items:center}.card-spotify{justify-content:center;width:32px;height:32px;border-radius:50%;background:rgba(30,215,96,.12);color:#1ed760;border:1px solid rgba(30,215,96,.25);transition:all var(--transition);flex-shrink:0}.card-spotify:hover{background:rgba(30,215,96,.25);border-color:#1ed760;transform:scale(1.1)}.spotify-listen-btn{display:inline-flex;align-items:center;gap:8px;color:#1ed760;background:rgba(30,215,96,.1);border:1px solid rgba(30,215,96,.25);padding:9px 18px;border-radius:999px;font-size:.85rem;font-weight:600;transition:all var(--transition);white-space:nowrap}.spotify-listen-btn:hover{background:rgba(30,215,96,.2);border-color:#1ed760;transform:translateY(-1px);box-shadow:0 4px 20px rgba(30,215,96,.2)}.footer{border-top:1px solid var(--border);padding:32px 24px;text-align:center;color:var(--text-muted);font-size:.8rem}.footer span{color:var(--accent)}@media (max-width:768px){.navbar-inner{flex-wrap:wrap;height:auto;padding:12px 0;gap:12px}.search-bar{max-width:100%;order:3;width:100%}.song-count{display:none}.hero{padding:48px 24px 32px}.song-grid{grid-template-columns:1fr;padding:0 16px 64px}.lyrics-columns{display:none}.lyrics-interleaved{display:block;padding:0 20px 48px}.lyrics-header{padding:24px 16px 20px}.container{padding:0 16px}.column-header{padding:12px 16px}.lyrics-text{padding:16px;font-size:.85rem;line-height:1.8}}@media (max-width:480px){.logo-text{display:none}.hero h1{font-size:1.9rem}}.login-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px}.login-modal{width:100%;max-width:420px;background:var(--bg-card);border:1px solid var(--border);padding:40px;border-radius:32px;text-align:center;box-shadow:0 40px 100px rgba(0,0,0,.6);position:relative}.login-modal h3{margin-bottom:32px;font-size:2rem;font-family:Playfair Display,serif;background:linear-gradient(135deg,#fff,var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.login-inputs{display:flex;flex-direction:column;gap:16px;margin-bottom:32px}.login-inputs input{width:100%;background:hsla(0,0%,100%,.05);border:1px solid var(--border);padding:16px 20px;border-radius:16px;color:#fff;font-size:1rem;font-family:inherit;outline:none;transition:border-color .2s}.login-inputs input:focus{border-color:var(--accent)}.btn-login-submit{width:100%;padding:18px;background:linear-gradient(135deg,var(--accent),#7c3aed);color:#fff;border:none;border-radius:16px;font-weight:800;font-size:1.1rem;margin-bottom:20px;cursor:pointer;transition:transform .2s,box-shadow .2s;box-shadow:0 8px 24px rgba(124,58,237,.3)}.btn-login-submit:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(124,58,237,.4)}.btn-close-modal{background:transparent;border:none;color:var(--text-muted);font-weight:600;font-size:.9rem;cursor:pointer;padding:8px}.btn-close-modal:hover{color:var(--text-secondary)}.auth-profile{gap:12px}.auth-profile,.user-logged{display:flex;align-items:center}.user-logged{gap:16px;background:hsla(0,0%,100%,.05);padding:4px 4px 4px 16px;border-radius:999px;border:1px solid var(--border)}.user-name{font-size:.85rem;font-weight:700;color:var(--accent)}.btn-logout{background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border);padding:6px 16px;border-radius:999px;font-size:.8rem;font-weight:700;transition:all .2s}.btn-logout:hover{background:var(--red);color:#fff;border-color:var(--red)}.btn-login{background:var(--accent-dim);color:var(--accent);border:1px solid var(--accent);padding:8px 24px;border-radius:999px;font-size:.85rem;font-weight:700;transition:all .2s}.btn-login:hover{background:var(--accent);color:#fff}.source-url-input-container{display:flex;flex-direction:column;gap:20px;width:100%;margin-top:1rem}.input-wrapper{display:flex;flex-direction:column;gap:8px;text-align:left}.field-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-left:4px}.text-input{width:100%;padding:14px 18px;font-size:1rem;border-radius:14px;border:1px solid var(--border);background:rgba(0,0,0,.3)!important;color:#fff;transition:all .2s ease}.text-input:focus{border-color:var(--accent);background:rgba(168,85,247,.05)!important;box-shadow:0 0 0 4px var(--accent-dim);outline:none}.text-input::placeholder{color:hsla(0,0%,100%,.2)}@media (max-width:768px){.trainer-header h1{font-size:1.8rem}.source-header{flex-direction:column!important;gap:16px}.source-title{font-size:1.2rem!important}.source-subtitle{font-size:.9rem!important}}.song-content-layout{display:flex;flex-direction:column;max-width:1280px;margin:0 auto}.dance-video-container{position:-webkit-sticky;position:sticky;top:80px;z-index:50;width:calc(100% - 48px);margin:0 24px 32px;aspect-ratio:16/9;border-radius:16px;overflow:hidden;box-shadow:0 15px 40px rgba(0,0,0,.5),0 0 0 1px var(--border);background:var(--bg-card)}.dance-video-container iframe{width:100%;height:100%;border:none}@media (min-width:1024px){.song-content-layout{flex-direction:row;align-items:flex-start;gap:40px;padding:0 40px}.dance-video-container{flex:1 1;max-width:480px;margin:0;top:100px}.lyrics-interleaved{flex:1.5 1;margin:0;padding:0 0 64px;max-width:none}}.dance-video-placeholder{width:calc(100% - 48px);margin:0 24px 32px;background:hsla(0,0%,100%,.03);border-radius:32px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;border:2px dashed hsla(0,0%,100%,.1);padding:40px;text-align:center}.dance-video-placeholder .placeholder-icon{font-size:3.5rem}.dance-video-placeholder .placeholder-text h3{font-size:1.4rem;font-weight:800;margin-bottom:8px}.dance-video-placeholder .placeholder-text p{color:var(--text-muted);max-width:400px;margin:0 auto;font-size:.95rem}.btn-suggest-video{background:#fff;color:#1e1b4b;padding:12px 24px;border-radius:14px;font-weight:800;font-size:.9rem;text-decoration:none;transition:all .2s;display:inline-block}.btn-suggest-video:hover{transform:translateY(-2px)}@media (min-width:1024px){.song-content-layout.no-video{flex-direction:column;align-items:center}.song-content-layout.no-video .lyrics-interleaved{margin:0 auto;max-width:800px}.dance-video-placeholder{position:fixed;bottom:24px;right:24px;width:320px;margin:0;padding:24px;gap:16px;border-radius:20px;background:rgba(15,15,20,.85);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid hsla(0,0%,100%,.1);box-shadow:0 20px 40px rgba(0,0,0,.4);z-index:100;animation:slideUp .4s ease-out forwards}.dance-video-placeholder .placeholder-icon{font-size:2rem}.dance-video-placeholder .placeholder-text h3{font-size:1.1rem}.dance-video-placeholder .placeholder-text p{font-size:.85rem}.btn-suggest-video{padding:10px 20px;font-size:.85rem}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.boutique-page{min-height:100vh}.boutique-hero{position:relative;padding:100px 24px 60px;text-align:center;overflow:hidden}.boutique-hero-glow{position:absolute;top:-120px;left:50%;transform:translateX(-50%);width:600px;height:400px;background:radial-gradient(circle,rgba(168,85,247,.15) 0,transparent 70%);pointer-events:none}.boutique-hero-content{position:relative;z-index:1;max-width:680px;margin:0 auto}.boutique-badge{display:inline-block;background:var(--accent-dim);color:var(--accent);border:1px solid rgba(168,85,247,.25);padding:8px 20px;border-radius:999px;font-size:.85rem;font-weight:700;margin-bottom:24px;letter-spacing:.03em}.boutique-title{font-family:Playfair Display,serif;font-size:clamp(2.5rem,6vw,4rem);font-weight:700;line-height:1.1;margin-bottom:16px}.boutique-title .accent-gradient{background:linear-gradient(135deg,#c026d3,#7c3aed,#a855f7);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.boutique-subtitle{color:var(--text-secondary);font-size:1.1rem;max-width:500px;margin:0 auto;line-height:1.7}.boutique-product-section{max-width:1100px;margin:0 auto;padding:0 24px 80px}.boutique-product-card{display:grid;grid-template-columns:1fr 1fr;grid-gap:48px;gap:48px;background:var(--bg-card);border:1px solid var(--border);border-radius:32px;overflow:hidden}.boutique-product-image-area{position:relative;background:linear-gradient(145deg,#f5f0eb,#e8e0d8);display:flex;align-items:center;justify-content:center;min-height:520px;overflow:hidden}.boutique-limited-badge{position:absolute;top:20px;left:20px;background:linear-gradient(135deg,#c026d3,#7c3aed);color:#fff;padding:8px 18px;border-radius:999px;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;z-index:2;box-shadow:0 8px 20px rgba(124,58,237,.4)}.boutique-product-img{width:100%;height:100%;object-fit:contain;padding:24px;transition:transform .6s cubic-bezier(.4,0,.2,1)}.boutique-product-image-area:hover .boutique-product-img{transform:scale(1.03)}.boutique-product-details{padding:48px 40px;display:flex;flex-direction:column;gap:24px}.boutique-product-header{display:flex;flex-direction:column;gap:12px}.boutique-product-name{font-family:Playfair Display,serif;font-size:1.8rem;font-weight:700;line-height:1.2}.boutique-product-price{display:flex;align-items:baseline;gap:10px}.price-amount{font-size:2.2rem;font-weight:900;color:#fff}.price-label{font-size:.85rem;color:var(--text-muted);font-weight:500}.boutique-product-desc{color:var(--text-secondary);font-size:.95rem;line-height:1.7}.boutique-features{list-style:none;display:flex;flex-direction:column;gap:10px}.boutique-features li{color:var(--text-secondary);font-size:.9rem;display:flex;align-items:center;gap:10px}.feature-check{color:var(--green);font-weight:700;font-size:.9rem}.boutique-size-section{display:flex;flex-direction:column;gap:12px}.boutique-size-label{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.boutique-sizes{display:flex;gap:10px;flex-wrap:wrap}.boutique-size-btn{width:52px;height:52px;border-radius:14px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);font-weight:700;font-size:.85rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.boutique-size-btn.active,.boutique-size-btn:hover{border-color:var(--accent);color:#fff}.boutique-size-btn.active{background:var(--accent);box-shadow:0 4px 16px rgba(168,85,247,.4);transform:scale(1.05)}.boutique-cta{width:100%;padding:18px 24px;border-radius:16px;border:none;background:linear-gradient(135deg,#c026d3,#7c3aed);color:#fff;font-weight:800;font-size:1.05rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 24px rgba(124,58,237,.3)}.boutique-cta:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 32px rgba(124,58,237,.45)}.boutique-cta.disabled,.boutique-cta:disabled{background:var(--bg-secondary);color:var(--text-muted);box-shadow:none;cursor:not-allowed}.boutique-trust{display:flex;flex-wrap:wrap;gap:16px;padding-top:16px;border-top:1px solid var(--border)}.boutique-trust span{font-size:.8rem;color:var(--text-muted);font-weight:600}.boutique-order-form{display:flex;flex-direction:column;gap:16px;padding:24px;background:hsla(0,0%,100%,.03);border-radius:20px;border:1px solid var(--border);animation:slideUp .3s ease-out}.boutique-form-group{display:flex;flex-direction:column;gap:6px}.boutique-form-group label{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.boutique-form-group input,.boutique-form-group textarea{width:100%;padding:14px 16px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;color:var(--text-primary);font-size:.95rem;font-family:inherit;outline:none;transition:border-color .2s;resize:vertical}.boutique-form-group input:focus,.boutique-form-group textarea:focus{border-color:var(--accent)}.boutique-form-actions{display:flex;gap:12px}.boutique-form-cancel{flex:0.4 1;padding:14px;border-radius:14px;border:1px solid var(--border);background:transparent;color:var(--text-secondary);font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s}.boutique-form-cancel:hover{background:hsla(0,0%,100%,.05);color:#fff}.boutique-form-actions .boutique-cta{flex:1 1}.boutique-success{text-align:center;padding:32px;background:rgba(16,185,129,.08);border:1px solid rgba(16,185,129,.25);border-radius:20px;animation:slideUp .4s ease-out}.boutique-success .success-icon{font-size:3rem;margin-bottom:12px}.boutique-success h3{font-size:1.3rem;font-weight:800;margin-bottom:8px;color:#34d399}.boutique-success p{color:var(--text-secondary);font-size:.95rem}.boutique-error{text-align:center;padding:24px;background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.25);border-radius:20px}.boutique-error p{color:#f87171;font-weight:600;margin-bottom:16px}@media (max-width:900px){.boutique-product-card{grid-template-columns:1fr}.boutique-product-image-area{min-height:360px}.boutique-product-details{padding:32px 24px}.boutique-product-name{font-size:1.4rem}.price-amount{font-size:1.8rem}.boutique-trust{flex-direction:column;gap:8px}}@media (max-width:480px){.boutique-hero{padding:80px 16px 40px}.boutique-product-section{padding:0 12px 60px}.boutique-product-card{border-radius:24px}.boutique-product-image-area{min-height:280px}.boutique-product-details{padding:24px 20px}.boutique-size-btn{width:46px;height:46px;font-size:.8rem}}