*,*:before,*:after{box-sizing:border-box}html{overflow-x:hidden;width:100%}:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.5;font-weight:400;color:#333;background-color:#fafafa;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh;overflow-x:hidden}#root{min-height:100vh;overflow-x:hidden}h1,h2,h3,h4,h5,h6{margin-top:0;line-height:1.2}a{color:#1976d2;text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font-family:inherit}@media (max-width: 768px){button,a,input[type=button],input[type=submit]{min-height:44px}input,select,textarea{font-size:16px}body{font-size:14px}h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}}.auth-prompt-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:flex-end;justify-content:center;padding-bottom:2rem;pointer-events:none}.auth-prompt{pointer-events:all;display:flex;align-items:center;gap:.85rem;background:#2d1a1a;color:#fff;padding:.85rem 1.1rem;border-radius:14px;box-shadow:0 8px 32px #00000059;max-width:340px;width:calc(100% - 2rem);animation:slideUp .25s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.auth-prompt-icon{font-size:1.3rem;flex-shrink:0}.auth-prompt-text{display:flex;flex-direction:column;gap:.15rem;flex:1;min-width:0}.auth-prompt-text strong{font-size:.88rem;font-weight:600}.auth-prompt-text span{font-size:.78rem;opacity:.7}.auth-prompt-btn{background:#c49a6c;border:none;border-radius:8px;color:#fff;font-size:.82rem;font-weight:600;padding:.45rem .9rem;cursor:pointer;white-space:nowrap;flex-shrink:0;min-height:unset}.auth-prompt-close{background:none;border:none;color:#ffffff80;font-size:1rem;cursor:pointer;padding:.2rem;flex-shrink:0;min-height:unset}.layout{min-height:100vh;display:flex;flex-direction:column}.tab-bar{position:sticky;top:0;z-index:100;background:#fff;display:flex;border-bottom:1px solid #e0e0e0}.tab{flex:1;padding:.75rem 1rem;border:none;border-bottom:3px solid transparent;background:transparent;font-size:.95rem;font-weight:600;color:#666;cursor:pointer;transition:all .2s}.tab:hover{color:#8b4a4a;background:#8b4a4a0a}.tab.active{color:#8b4a4a;border-bottom-color:#8b4a4a;background:#8b4a4a0d}.main-content{flex:1;width:100%;box-sizing:border-box;overflow-x:hidden}@media (max-width: 768px){.main-content{padding:0}}.search-bar{width:100%;background:#fff;border-radius:14px;padding:.85rem;box-shadow:0 2px 16px #5a35351a;display:flex;flex-direction:column;gap:.6rem}.search-mode-toggle{display:flex;background:#f3eeee;border-radius:9px;padding:3px;gap:3px}.mode-btn{flex:1;padding:.45rem .75rem;border:none;border-radius:7px;background:transparent;font-size:.85rem;font-weight:500;color:#a08080;cursor:pointer;transition:all .18s;text-align:center}.mode-btn.active{background:#fff;box-shadow:0 1px 5px #5a353521;color:#3d2020;font-weight:700}.ai-subtitle{font-size:.75rem;color:#b09090;text-align:center;margin:-.15rem 0 0;font-style:italic}.search-input-wrapper{display:flex;border:1.5px solid #ede5e5;border-radius:9px;overflow:hidden;background:#fdfbfb;transition:border-color .2s}.search-input-wrapper:focus-within{border-color:#b07878}.search-input{flex:1;padding:.75rem .9rem;border:none;outline:none;font-size:.95rem;background:transparent;color:#2d1a1a}.search-input::placeholder{color:#c5aeae}.search-button{padding:.75rem 1.25rem;background:#8b4a4a;color:#fff;border:none;font-size:.9rem;font-weight:700;cursor:pointer;transition:background .2s;white-space:nowrap;letter-spacing:.01em}.search-button:hover{background:#7a3f3f}.search-button:disabled{opacity:.7}.search-loading-dots{display:flex;align-items:center;gap:4px;padding:0 .5rem;flex-shrink:0}.search-loading-dots span{width:6px;height:6px;background:#8b4a4a;border-radius:50%;animation:searchDotPulse 1.2s ease-in-out infinite}.search-loading-dots span:nth-child(2){animation-delay:.2s}.search-loading-dots span:nth-child(3){animation-delay:.4s}@keyframes searchDotPulse{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}.search-hints{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;font-size:.78rem}.search-hints span{color:#b09090}.search-hints button{padding:.2rem .55rem;background:#f5f0f0;border:none;border-radius:10px;font-size:.75rem;color:#8b5a5a;cursor:pointer;transition:background .2s}.search-hints button:hover{background:#ede5e5}@media (max-width: 480px){.search-bar{border-radius:12px;padding:.75rem}.search-input{font-size:16px;padding:.7rem .75rem}.search-button{padding:.7rem 1rem;font-size:.85rem}}.perfume-card{display:flex;flex-direction:column;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 2px 12px #5a353512,0 1px 3px #5a35350d;transition:transform .2s,box-shadow .2s;text-decoration:none;color:inherit}.perfume-card:hover{transform:translateY(-4px);box-shadow:0 8px 28px #5a353521,0 2px 6px #5a353512}.perfume-card-image{aspect-ratio:3/4;overflow:hidden;background:#f9f7f4;display:flex;align-items:center;justify-content:center}.perfume-card-image img{width:100%;height:100%;object-fit:contain;padding:1rem}.perfume-card-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3rem;background:#f9f7f4}.perfume-card-content{padding:.85rem .9rem .9rem}.perfume-card-brand{margin:0 0 .2rem;font-size:.67rem;font-weight:600;color:#b09090;letter-spacing:.07em;text-transform:uppercase}.perfume-card-name{margin:0 0 .65rem;font-size:.88rem;font-weight:600;color:#2d1a1a;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.perfume-card-meta{display:flex;flex-wrap:wrap;gap:.3rem}.perfume-card-gender,.perfume-card-concentration,.perfume-card-year{font-size:.65rem;padding:.15rem .4rem;border-radius:4px;font-weight:500;color:#9a8080;background:#f5f0f0;border:none}.perfume-card-gender.men{background:#eef3fa;color:#5a78a0}.perfume-card-gender.women{background:#faeef3;color:#a05a78}.perfume-card-gender.unisex{background:#f3eefa;color:#7a5aa0}.perfume-card-concentration{background:#faf4ee;color:#a07a50}.perfume-card-year{background:#eefaf2;color:#508060}.ai-result-card{background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000001a;overflow:hidden;max-width:800px;margin:0 auto}.ai-result-badge{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#8b4a4a,#b07840);color:#fff;font-weight:600;font-size:.9rem}.ai-icon{font-size:1.1rem}.ai-result-content{padding:1.5rem}.ai-result-header{display:flex;gap:1.5rem;margin-bottom:1.5rem}.ai-result-image{flex-shrink:0;width:150px;height:200px;border-radius:12px;overflow:hidden;background:#f5f5f5}.ai-result-image img{width:100%;height:100%;object-fit:cover}.ai-result-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f0f0f0,#e0e0e0);font-size:4rem}.ai-result-info{flex:1;min-width:0}.ai-result-name{margin:0 0 .25rem;font-size:1.75rem;font-weight:700;color:#1a1a2e}.ai-result-brand{margin:0 0 1rem;font-size:1.1rem;color:#666}.ai-result-meta{display:flex;flex-wrap:wrap;gap:.5rem}.meta-tag{display:inline-block;padding:.35rem .75rem;border-radius:20px;font-size:.85rem;font-weight:500}.meta-tag.concentration{background:#e3f2fd;color:#1565c0}.meta-tag.gender{background:#f3e5f5;color:#7b1fa2}.meta-tag.gender.men,.meta-tag.gender.male{background:#e3f2fd;color:#1565c0}.meta-tag.gender.women,.meta-tag.gender.female{background:#fce4ec;color:#c2185b}.meta-tag.year{background:#fff3e0;color:#e65100}.ai-result-description{margin-bottom:1.5rem;padding:1rem;background:#f8f9fa;border-radius:8px}.ai-result-description p{margin:0;line-height:1.6;color:#444}.ai-result-notes{margin-bottom:1.5rem}.ai-result-notes h3,.ai-result-accords h3,.ai-result-shops h3{margin:0 0 1rem;font-size:1.1rem;color:#1a1a2e}.notes-pyramid{display:flex;flex-direction:column;gap:.75rem}.notes-row{display:flex;align-items:flex-start;gap:1rem}.notes-label{flex-shrink:0;width:80px;font-size:.85rem;font-weight:600;color:#666;padding-top:.3rem}.notes-list{display:flex;flex-wrap:wrap;gap:.5rem}.note-tag{display:inline-block;padding:.3rem .75rem;border-radius:16px;font-size:.85rem;font-weight:500}.note-tag.top{background:#fff8e1;color:#f57c00;border:1px solid #ffcc80}.note-tag.middle{background:#e8f5e9;color:#2e7d32;border:1px solid #a5d6a7}.note-tag.base{background:#efebe9;color:#5d4037;border:1px solid #bcaaa4}.ai-result-accords{margin-bottom:1.5rem}.accords-list{display:flex;flex-wrap:wrap;gap:.5rem}.accord-tag{display:inline-block;padding:.4rem 1rem;background:linear-gradient(135deg,#ffecd2,#fcb69f);border-radius:20px;font-size:.9rem;font-weight:500;color:#5d4037}.ai-result-shops{margin-bottom:1.5rem;padding-top:1rem;border-top:1px solid #eee}.shop-section{margin-bottom:1rem}.shop-section h4{margin:0 0 .75rem;font-size:.95rem;color:#444;font-weight:600}.shop-links{display:flex;flex-wrap:wrap;gap:.5rem}.shop-link{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#f5f5f5;border-radius:8px;text-decoration:none;color:#333;font-size:.9rem;transition:all .2s;border:1px solid transparent}.shop-link:hover{background:#e8e8e8;transform:translateY(-1px)}.shop-link.trusted{background:#e8f5e9;border-color:#a5d6a7}.shop-link.trusted:hover{background:#c8e6c9}.shop-name{font-weight:500}.shop-country{font-size:.8rem;color:#888}.trusted-badge{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;background:#4caf50;color:#fff;border-radius:50%;font-size:.7rem;font-weight:700}.show-more-links{margin-top:.75rem;padding:.5rem 1rem;background:none;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:.9rem;color:#666;transition:all .2s}.show-more-links:hover{background:#f5f5f5;border-color:#ccc}.ai-result-actions{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #eee}.add-to-db-button{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#8b4a4a,#b07840);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.add-to-db-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #8b4a4a4d}.add-to-db-button:disabled{opacity:.7;cursor:not-allowed}.spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.add-error-message{padding:.75rem 1rem;background:#ffebee;color:#c62828;border-radius:8px;margin-bottom:1rem;font-size:.9rem}.added-to-db-notice{display:flex;align-items:center;gap:.75rem;margin-top:1rem;padding:.75rem 1rem;background:linear-gradient(135deg,#e8f5e9,#c8e6c9);color:#2e7d32;border-radius:8px;font-size:.9rem;font-weight:500}.view-perfume-button{margin-left:auto;padding:.5rem 1rem;background:#4caf50;color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s}.view-perfume-button:hover{background:#43a047;transform:translateY(-1px)}.exists-in-db-notice{display:flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.75rem 1rem;background:#e8f5e9;color:#2e7d32;border-radius:8px;font-size:.9rem}@media (max-width: 600px){.ai-result-header{flex-direction:column;align-items:center;text-align:center}.ai-result-image{width:120px;height:160px}.ai-result-meta{justify-content:center}.notes-row{flex-direction:column;gap:.5rem}.notes-label{width:auto}.notes-list{justify-content:flex-start}}.home-page{width:100%;box-sizing:border-box;overflow-x:hidden;background:#f9f7f4;min-height:100vh}.home-content{max-width:1200px;margin:0 auto;padding:1.5rem 1.5rem 3rem}.search-strip{background:linear-gradient(145deg,#e8cfc0,#d4a8a8,#c49a9a);padding:1.25rem 2rem 1.5rem;display:flex;flex-direction:column;align-items:center;gap:.9rem}.search-strip>.desktop-only{width:100%;max-width:900px}.search-strip-title{font-size:1.25rem;font-weight:700;margin:0;color:#3d2020;letter-spacing:.01em}.search-strip-trigger{width:100%;max-width:640px;padding:.75rem 1rem;background:#fff;border:none;border-radius:10px;font-size:.95rem;color:#c5aeae;text-align:left;cursor:pointer;box-shadow:0 2px 10px #5a35351a}.filters-bar{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin-bottom:1rem;padding:.75rem 1rem;background:#fff;border-radius:10px;box-shadow:0 1px 4px #0000000f}.filter-select{padding:.5rem 2rem .5rem .75rem;border:1.5px solid #e8d8d8;border-radius:8px;font-size:.875rem;color:#5a3535;background:#fdf9f9;cursor:pointer;outline:none;transition:border-color .2s;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23b07878' d='M6 8L0 0h12z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .6rem center}.filter-select:focus{border-color:#b07878}.clear-filters{padding:.5rem .9rem;background:#f5ecec;border:1.5px solid #e8d8d8;border-radius:8px;font-size:.8rem;color:#8b4a4a;cursor:pointer;font-weight:500;transition:background .2s;white-space:nowrap}.clear-filters:hover{background:#eee0e0}.results-count{font-size:.8rem;color:#b09090;margin-bottom:.5rem;font-weight:500;letter-spacing:.02em;text-transform:uppercase;display:flex;align-items:center;gap:.5rem}.loading-more-badge{font-size:.7rem;background:#f5ecec;color:#a07070;padding:.1rem .5rem;border-radius:10px;text-transform:none;letter-spacing:0;font-weight:400;font-style:italic}.perfume-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem}.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;flex-wrap:wrap;gap:.5rem}.results-header h2{margin:0;font-size:1.1rem;color:#4a2e2e;font-weight:600}.clear-search{padding:.45rem .9rem;background:#f5ecec;border:1.5px solid #e8d8d8;border-radius:8px;font-size:.82rem;color:#8b4a4a;cursor:pointer;font-weight:500;transition:background .2s}.clear-search:hover{background:#eee0e0}.results-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.25rem}.search-result-item{width:100%}.search-result-item.ai-result{grid-column:1 / -1}.local-result-wrapper{display:flex;flex-direction:column;gap:.5rem;height:100%}.local-result-wrapper .perfume-card{flex:1}.match-reason{font-size:.78rem;color:#8b6060;background:#f5ecec;padding:.35rem .65rem;border-radius:6px;text-align:center}.ai-notice{display:flex;align-items:center;gap:.5rem;padding:.65rem 1rem;background:#f5ecec;border-radius:8px;margin-bottom:1.25rem;font-size:.88rem;color:#6b3a3a}.parsed-criteria{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.25rem}.criteria-tag{padding:.3rem .65rem;border-radius:14px;font-size:.82rem;font-weight:500}.criteria-tag.notes{background:#fff3e0;color:#c65100}.criteria-tag.accords{background:#e8f5e9;color:#2e7d32}.criteria-tag.gender{background:#fce4ec;color:#c2185b}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:2rem;padding-top:1rem;border-top:1.5px solid #f0e8e8}.pagination-btn{padding:.55rem 1.25rem;background:#fff;border:1.5px solid #e8d8d8;border-radius:8px;font-size:.88rem;font-weight:600;color:#8b4a4a;cursor:pointer;transition:background .2s,border-color .2s}.pagination-btn:hover:not(:disabled){background:#f5ecec;border-color:#c49a9a}.pagination-btn:disabled{color:#c9b0b0;border-color:#f0e8e8;cursor:default}.pagination-info{font-size:.85rem;color:#b09090;font-weight:500;min-width:4rem;text-align:center}.error-message{padding:.85rem 1rem;background:#ffebee;color:#c62828;border-radius:8px;margin-bottom:1rem;text-align:center;font-size:.9rem}.loading{text-align:center;padding:4rem 2rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.loading p{color:#b09090;font-size:.95rem;margin:0}.spinner{width:36px;height:36px;border:3px solid #f0e8e8;border-top:3px solid #b07878;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.no-results{text-align:center;padding:3rem;color:#b09090}.mobile-only{display:none}.desktop-only{display:block}.search-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#4a2e2e66;z-index:500;display:flex;align-items:flex-start;justify-content:center;padding-top:0}.search-modal{background:linear-gradient(160deg,#d4b0b0,#bfa0a0);width:100%;padding:1.5rem 1.25rem 2rem;position:relative;animation:slideDown .22s ease}.search-modal-close{position:absolute;top:.9rem;right:1rem;background:#ffffff40;border:none;border-radius:50%;width:32px;height:32px;font-size:.9rem;color:#4a2e2e;cursor:pointer;display:flex;align-items:center;justify-content:center}@keyframes slideDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.fab{display:flex;align-items:center;justify-content:center;position:fixed;bottom:2rem;right:2rem;width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,#8b4a4a,#b07840);color:#fff;font-size:1.8rem;font-weight:300;border:none;box-shadow:0 4px 16px #8b4a4a59;cursor:pointer;z-index:200;transition:transform .15s,box-shadow .15s}.fab:hover{transform:scale(1.08);box-shadow:0 6px 20px #8b4a4a80}.fab:active{transform:scale(.92)}@media (max-width: 768px){.mobile-only{display:block}.desktop-only{display:none!important}.search-strip{padding:.9rem .75rem 1rem;gap:.55rem}.search-strip-title{font-size:1.05rem}.fab{bottom:1.5rem;right:1.5rem}.home-content{padding:.75rem .4rem 5rem}.perfume-grid,.results-container{grid-template-columns:repeat(2,1fr);gap:.6rem}.filters-bar{padding:.6rem .75rem;gap:.5rem}.filter-select{font-size:.82rem;padding:.45rem 1.8rem .45rem .6rem}}@media (max-width: 480px){.search-strip{padding:.75rem .5rem .85rem}.home-content{padding:.6rem .3rem 5rem}}.notes-pyramid{display:flex;flex-direction:column;gap:.5rem}.voted-notes-pyramid{display:flex;flex-direction:column;gap:.5rem;margin-top:1.5rem;padding-top:1.5rem;border-top:2px solid #e0e0e0}.voted-notes-title{font-size:.95rem;font-weight:600;color:#333;margin-bottom:.5rem}.note-votes{font-size:.7rem;color:#666;font-weight:600;margin-left:.2rem}.notes-pyramid-all{display:flex;flex-direction:column;gap:.75rem}.notes-tabs{display:flex;gap:.5rem;border-bottom:2px solid #e0e0e0}.tab-btn{flex:1;padding:.6rem 1rem;background:none;border:none;border-bottom:3px solid transparent;font-size:.85rem;font-weight:600;color:#666;cursor:pointer;transition:all .2s ease}.tab-btn:hover{color:#333;background:#f5f5f5}.tab-btn.active{color:#8b4a4a;border-bottom-color:#8b4a4a}.notes-content{min-height:300px;max-height:500px;overflow:hidden}.notes-list-scrollable{max-height:450px;overflow-y:auto;padding-right:.5rem}.notes-list-scrollable::-webkit-scrollbar{width:8px}.notes-list-scrollable::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.notes-list-scrollable::-webkit-scrollbar-thumb{background:#bbb;border-radius:4px}.notes-list-scrollable::-webkit-scrollbar-thumb:hover{background:#999}.notes-pyramid.empty{padding:1rem;text-align:center;color:#999;background:#f9f9f9;border-radius:6px;font-size:.85rem}.notes-section{padding:.6rem .75rem;border-radius:6px;background:linear-gradient(135deg,var(--bg-start) 0%,var(--bg-end) 100%)}.notes-section.top{--bg-start: #fff8e1;--bg-end: #ffecb3}.notes-section.middle{--bg-start: #fce4ec;--bg-end: #f8bbd9}.notes-section.base{--bg-start: #efebe9;--bg-end: #d7ccc8}.notes-label{display:flex;align-items:center;gap:.4rem;margin-bottom:.4rem;font-weight:600;font-size:.8rem;color:#333}.notes-icon{font-size:.75rem}.notes-list{display:flex;flex-wrap:wrap;gap:.35rem}.note-tag{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .5rem;background:#ffffffd9;border-radius:16px;font-size:.75rem;color:#333;box-shadow:0 1px 3px #0000001a}.note-emoji{font-size:1.25rem;line-height:1}.note-img{width:36px;height:36px;object-fit:contain;border-radius:6px;flex-shrink:0}.note-name{font-weight:500}.note-empty{color:#999;font-style:italic}@media (max-width: 480px){.notes-section{padding:.5rem .6rem}.notes-label{font-size:.75rem;gap:.3rem}.notes-icon{font-size:.7rem}.note-tag{padding:.2rem .4rem;font-size:.7rem}.note-emoji{font-size:.8rem}}.notes-search-bar{display:flex;align-items:center;gap:.5rem;background:#f5f5f5;border:1px solid #e5e5e5;border-radius:8px;padding:.45rem .75rem;margin-bottom:.5rem}.notes-search-icon{font-size:.9rem;flex-shrink:0;opacity:.6}.notes-search-input{flex:1;border:none;background:transparent;font-size:.85rem;color:#333;outline:none;min-width:0}.notes-search-input::placeholder{color:#aaa}.notes-search-clear{background:none;border:none;color:#999;font-size:.8rem;cursor:pointer;padding:.1rem .2rem;flex-shrink:0;min-height:unset}.notes-search-empty{text-align:center;padding:1.5rem;color:#aaa;font-size:.85rem}.notes-list.with-votes{display:flex;flex-direction:column;gap:.5rem}.note-with-vote{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.15rem 0}.note-vote-buttons{display:flex;gap:.25rem;flex-shrink:0}.voting-help{margin-top:1rem;padding:.75rem;background:linear-gradient(135deg,#e3f2fd,#f3e5f5);border-radius:6px;text-align:center;font-size:.85rem;color:#666}.notes-pyramid.loading,.notes-pyramid.error{padding:1.5rem;text-align:center;color:#666}.notes-pyramid.error{color:#c62828;background:#ffebee}@media (max-width: 640px){.note-with-vote{gap:.4rem}.note-tag{font-size:.7rem;padding:.2rem .4rem}.vote-btn{padding:.25rem .35rem;font-size:.65rem}.voting-help{font-size:.8rem;padding:.6rem}}@media (max-width: 480px){.note-with-vote{gap:.3rem}.note-tag{font-size:.65rem;padding:.15rem .35rem}.note-vote-buttons{gap:.2rem}.vote-btn{padding:.2rem .3rem;font-size:.6rem}.voting-help{font-size:.75rem;padding:.5rem}}.accords-chart{display:flex;flex-direction:column;gap:.4rem}.accords-chart.empty{padding:1rem;text-align:center;color:#999;background:#f9f9f9;border-radius:6px;font-size:.85rem}.accord-row{display:grid;grid-template-columns:90px 1fr 35px;align-items:center;gap:.5rem}.accord-name{font-size:.75rem;color:#333;text-align:right}.accord-bar-container{height:16px;background:#f0f0f0;border-radius:3px;overflow:hidden}.accord-bar{height:100%;border-radius:3px;transition:width .3s ease}.accord-value{font-size:.7rem;color:#666;text-align:left}@media (max-width: 600px){.accord-row{grid-template-columns:80px 1fr 40px;gap:.5rem}.accord-name{font-size:.75rem}.accord-bar-container{height:20px}.accord-value{font-size:.75rem}}@media (max-width: 480px){.accord-row{grid-template-columns:70px 1fr 35px;gap:.4rem}.accord-name{font-size:.7rem}.accord-bar-container{height:18px}.accord-value{font-size:.7rem}}.accords-chart.with-votes{display:flex;flex-direction:column;gap:.75rem}.accord-row-with-vote{display:flex;flex-direction:column;gap:.4rem}.accord-main{display:grid;grid-template-columns:90px 1fr 35px;align-items:center;gap:.5rem}.accord-vote-buttons{display:flex;gap:.25rem;padding-left:90px}.vote-btn{padding:.2rem .4rem;background:#f0f0f0;border:1px solid #ddd;border-radius:4px;font-size:.75rem;cursor:pointer;transition:all .2s ease;white-space:nowrap}.vote-btn:hover:not(:disabled){background:#e0e0e0;transform:scale(1.05)}.vote-btn:active:not(:disabled){transform:scale(.95)}.vote-btn:disabled{opacity:.5;cursor:not-allowed}.vote-btn.upvote:hover:not(:disabled){background:#d4fc79;border-color:#96e6a1}.vote-btn.downvote:hover:not(:disabled){background:#ffcccb;border-color:#ffb3b3}.voting-help{margin-top:.5rem;padding:.75rem;background:linear-gradient(135deg,#e3f2fd,#f3e5f5);border-radius:6px;text-align:center;font-size:.85rem;color:#666}.accords-info{margin-top:.5rem;padding:.75rem;background:linear-gradient(135deg,#e8f5e9,#f1f8e9);border-radius:6px;text-align:center;font-size:.85rem;color:#666}.accords-chart.loading,.accords-chart.error{padding:1.5rem;text-align:center;color:#666}.accords-chart.error{color:#c62828;background:#ffebee;border-radius:6px}@media (max-width: 600px){.accord-main{grid-template-columns:80px 1fr 40px}.accord-vote-buttons{padding-left:80px;gap:.2rem}.vote-btn{padding:.25rem .35rem;font-size:.65rem}.voting-help{font-size:.8rem;padding:.6rem}}@media (max-width: 480px){.accord-main{grid-template-columns:70px 1fr 35px}.accord-vote-buttons{padding-left:70px;gap:.2rem}.vote-btn{padding:.2rem .3rem;font-size:.6rem}.voting-help{font-size:.75rem;padding:.5rem}}.perfume-rating-and-comments{display:flex;flex-direction:column;gap:1.5rem;padding:1.5rem;background:#fff;border-radius:10px;box-shadow:0 2px 6px #00000014}.rating-section{display:flex;flex-direction:row;align-items:center;gap:2rem;padding-bottom:1.5rem;border-bottom:2px solid #e0e0e0}.rating-display{display:flex;flex-direction:row;align-items:center;gap:1rem}.rating-stars{display:flex;gap:.2rem;font-size:1.5rem}.star{color:#ddd;transition:color .2s ease}.star.filled{color:gold}.star.half{color:gold;filter:brightness(.8)}.star.interactive{cursor:pointer;-webkit-user-select:none;user-select:none}.star.interactive:hover{transform:scale(1.1);transition:transform .2s ease}.rating-info{display:flex;flex-direction:row;align-items:baseline;gap:.5rem}.rating-average{font-size:3rem;font-weight:700;color:#333;line-height:1}.rating-count{font-size:1rem;color:#666}.rating-input{display:flex;flex-direction:column;gap:.5rem;margin-left:auto}.rating-input label{font-weight:500;color:#333;font-size:.95rem;margin:0}.rating-input .rating-stars{font-size:1.5rem}.rating-thank-you{padding:.75rem 1.5rem;background:linear-gradient(135deg,#d4fc79,#96e6a1);border-radius:8px;font-weight:500;color:#2d5016;margin-left:auto;white-space:nowrap}.rating-error{color:#c62828;font-size:.875rem;margin-top:.5rem}.login-prompt-btn{width:100%;padding:.85rem 1.25rem;background:linear-gradient(145deg,#e8cfc0,#d4a8a8,#c49a9a);color:#3d2020;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;text-align:center;margin-left:auto}.login-prompt-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #c49a9a73}.comments-section{display:flex;flex-direction:column;gap:1rem}.comments-title{margin:0;font-size:1.5rem;font-weight:600;color:#333}.comment-form{padding:1rem;background:#f8f9fa;border-radius:8px}.form-group{margin-bottom:.5rem;position:relative}.comment-textarea{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:6px;font-size:1rem;font-family:inherit;resize:vertical;min-height:80px;transition:border-color .2s ease;box-sizing:border-box}.comment-textarea:focus{outline:none;border-color:#8b4a4a}.char-count{text-align:right;font-size:.75rem;color:#666;margin-top:.25rem}.form-error{color:#c62828;font-size:.875rem;margin-bottom:.75rem}.submit-button{width:100%;padding:.875rem;background:linear-gradient(135deg,#8b4a4a,#b07840);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s ease,opacity .2s ease}.submit-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #8b4a4a4d}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button:disabled{opacity:.5;cursor:not-allowed}.comments-list{display:flex;flex-direction:column;gap:1rem;max-height:320px;overflow-y:auto;padding-right:.5rem}.comments-list::-webkit-scrollbar{width:8px}.comments-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.comments-list::-webkit-scrollbar-thumb{background:#bbb;border-radius:4px}.comments-list::-webkit-scrollbar-thumb:hover{background:#999}.comment-item{padding:1rem;background:#fff;border-radius:8px;border:1px solid #e0e0e0;transition:box-shadow .2s ease}.comment-item:hover{box-shadow:0 2px 8px #00000014}.comment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.comment-author{font-weight:600;color:#666;font-size:.95rem}.comment-delete-btn{background:none;border:none;cursor:pointer;font-size:.85rem;opacity:.4;padding:.1rem .3rem;margin-left:auto;transition:opacity .2s;min-height:unset}.comment-delete-btn:hover{opacity:1}.comment-date{font-size:.8rem;color:#999}.comment-text{color:#444;line-height:1.6;font-size:.95rem;word-wrap:break-word;overflow-wrap:break-word}.no-comments{padding:2rem;text-align:center;color:#999;font-style:italic;background:#f8f9fa;border-radius:8px;border:1px dashed #ddd}.loading{padding:2rem;text-align:center;color:#666}.error-message{padding:1rem;background:#ffebee;color:#c62828;border-radius:6px;text-align:center}@media (max-width: 968px){.perfume-rating-and-comments{gap:1.5rem;padding:1.5rem}.rating-section{flex-direction:column;align-items:flex-start;gap:1rem}.rating-display{flex-direction:row;gap:1rem}.rating-input{margin-left:0}}@media (max-width: 640px){.perfume-rating-and-comments{padding:1rem;gap:1rem}.rating-section{padding-bottom:1rem;flex-direction:column;align-items:flex-start;gap:.75rem}.rating-display{gap:.75rem}.rating-stars{font-size:1.25rem}.rating-input{margin-left:0}.rating-input .rating-stars{font-size:1.5rem}.rating-average{font-size:2.5rem}.rating-count{font-size:.85rem}.comments-title{font-size:1.25rem}.comments-list{max-height:280px}.comment-form{padding:.75rem}.comment-textarea{padding:.65rem;font-size:.95rem}.submit-button{padding:.75rem;font-size:.95rem}.comment-item{padding:.75rem}.comment-header{flex-direction:column;align-items:flex-start;gap:.25rem}.comment-author{font-size:.9rem}.comment-date{font-size:.75rem}.comment-text{font-size:.9rem}}@media (max-width: 480px){.perfume-rating-and-comments{padding:.75rem;gap:.75rem}.rating-section{padding-bottom:.75rem;gap:.5rem}.rating-display{gap:.5rem}.rating-stars{font-size:1.1rem;gap:.15rem}.rating-input .rating-stars{font-size:1.25rem}.rating-average{font-size:2rem}.rating-count{font-size:.75rem}.comments-title{font-size:1.1rem}.comments-list{max-height:240px}.comment-form{padding:.6rem}.comment-textarea{padding:.6rem;font-size:.9rem;min-height:70px}.submit-button{padding:.7rem;font-size:.9rem}.comment-item{padding:.6rem}.comment-text{font-size:.85rem}}.suggested-similar{padding:.5rem 0}.loading-suggestions{text-align:center;color:#888;padding:1rem;font-style:italic;font-size:.85rem}.suggestions-slider{display:flex;gap:.75rem;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding-bottom:.5rem;-webkit-overflow-scrolling:touch}.suggestions-slider::-webkit-scrollbar{height:6px}.suggestions-slider::-webkit-scrollbar-track{background:#f0f0f0;border-radius:3px}.suggestions-slider::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#8b4a4a,#b07840);border-radius:3px}.suggestions-slider::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#7a3f3f,#9a6830)}.suggestion-card{flex:0 0 130px;min-width:130px;background:#f8f9fa;border-radius:8px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s;scroll-snap-align:start}.suggestion-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.suggestion-image{position:relative;width:100%;aspect-ratio:1;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}.suggestion-image img{width:100%;height:100%;object-fit:contain;padding:.35rem}.suggestion-placeholder{font-size:2rem;opacity:.4}.similarity-badge{position:absolute;top:.3rem;right:.3rem;background:linear-gradient(135deg,#8b4a4a,#b07840);color:#fff;padding:.15rem .35rem;border-radius:8px;font-size:.65rem;font-weight:700}.suggestion-info{padding:.5rem;display:flex;flex-direction:column;gap:.1rem}.suggestion-brand{font-size:.6rem;color:#888;text-transform:uppercase;letter-spacing:.3px}.suggestion-name{font-weight:600;font-size:.75rem;color:#333;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.suggestion-meta{font-size:.65rem;color:#666}.suggestion-reason{font-size:.6rem;color:#8b4a4a;margin-top:.15rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media (max-width: 600px){.suggestion-card{flex:0 0 110px;min-width:110px}.suggestion-info{padding:.4rem}.suggestion-name{font-size:.7rem}}.where-to-buy-static{padding:0}.wtb-static-title{margin:0 0 .75rem;font-size:1rem;color:#1a1a2e;padding-bottom:.5rem;border-bottom:2px solid #f0f0f0}.wtb-static-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}.wtb-static-card{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:.75rem .5rem;background:#f8f9fa;border:1px solid #eee;border-radius:10px;text-decoration:none;color:#1a1a2e;transition:all .2s ease;cursor:pointer}.wtb-static-card:hover{background:#fdf9f9;border-color:#8b4a4a;transform:translateY(-2px);box-shadow:0 4px 12px #8b4a4a26}.wtb-static-logo{width:36px;height:36px;object-fit:contain;border-radius:6px}.wtb-static-name{font-size:.75rem;font-weight:600;text-align:center;line-height:1.2}.wtb-static-flag{font-size:.7rem}@media (max-width: 480px){.wtb-static-grid{grid-template-columns:repeat(3,1fr);gap:.5rem}.wtb-static-card{padding:.6rem .4rem}.wtb-static-logo{width:30px;height:30px}.wtb-static-name{font-size:.7rem}}.fragrance-sliders{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:.85rem 1.25rem .65rem;margin-bottom:1rem;width:100%;box-sizing:border-box}.sliders-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.slider-card{display:flex;flex-direction:column;gap:.45rem}.slider-header{display:flex;align-items:center;gap:.4rem}.slider-icon{font-size:1rem}.slider-label{font-weight:600;font-size:.85rem;color:#4a2e2e}.slider-dots{display:flex;gap:5px}.slider-dot{width:8px;height:8px;border-radius:50%;background:#e8d8d8;transition:background .2s}.slider-dot.active{background:#8b4a4a}.slider-value-label{font-size:.78rem;font-weight:600;color:#8b4a4a}.sliders-source{margin-top:.6rem;font-size:.68rem;color:#bbb;text-align:right}@media (max-width: 480px){.fragrance-sliders{padding:.75rem 1rem .55rem}.sliders-row{gap:1rem}}.perfume-detail-page{max-width:1000px;margin:0 auto;padding:0 1rem;width:100%;box-sizing:border-box}.loading-page,.error-page{text-align:center;padding:2rem 1rem}.error-page h2{margin-bottom:.75rem;color:#666}.share-toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10000;background:#fff;padding:20px 32px;border-radius:12px;box-shadow:0 8px 32px #0003;animation:shareToastFadeIn .2s ease-out}.share-toast.success{border-left:4px solid #4CAF50}.share-toast.error{border-left:4px solid #f44336}.share-toast-content{display:flex;align-items:center;gap:12px}.share-toast-icon{font-size:24px;font-weight:700}.share-toast.success .share-toast-icon{color:#4caf50}.share-toast.error .share-toast-icon{color:#f44336}.share-toast-text{font-size:16px;font-weight:500;color:#333}@keyframes shareToastFadeIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.detail-share-btn{width:36px;height:36px;padding:0;background:#fffffff2;border:1px solid rgba(0,0,0,.1);border-radius:50%;cursor:pointer;color:#333;display:flex;align-items:center;justify-content:center;transition:all .2s ease;box-shadow:0 2px 8px #0000001f;flex-shrink:0}.detail-share-btn:hover{background:#fff;box-shadow:0 4px 16px #0000002e;transform:scale(1.1)}.detail-actions-menu{position:relative}.detail-overflow-btn{width:36px;height:36px;padding:0;background:#fffffff2;border:1px solid rgba(0,0,0,.1);border-radius:50%;cursor:pointer;font-size:1.5rem;font-weight:400;color:#333;display:flex;align-items:center;justify-content:center;transition:all .2s ease;line-height:1;box-shadow:0 2px 8px #0000001f;flex-shrink:0}.detail-overflow-btn:hover{background:#fff;box-shadow:0 4px 16px #0000002e;transform:scale(1.1)}.detail-menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:99}.detail-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;min-width:180px;overflow:hidden;z-index:100;animation:menuFadeIn .2s ease-out}@keyframes menuFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.detail-menu-item{width:100%;padding:12px 16px;background:#fff;border:none;cursor:pointer;display:flex;align-items:center;gap:12px;font-size:.95rem;color:#333;transition:background .2s;text-align:left}.detail-menu-item:hover:not(:disabled){background:#f5f5f5}.detail-menu-item:disabled{opacity:.5;cursor:not-allowed}.detail-menu-item-danger{color:#f44336}.detail-menu-item-danger:hover:not(:disabled){background:#ffebee}.detail-menu-icon{font-size:1.2rem;width:24px;display:flex;align-items:center;justify-content:center}.detail-header{display:flex;justify-content:space-between;align-items:center;margin-top:1rem;margin-bottom:1rem}.back-link{color:#666;text-decoration:none;font-weight:500;transition:color .2s}.back-link:hover{color:#8b4a4a}.header-actions{display:flex;gap:.75rem}.edit-btn,.delete-btn{padding:.5rem 1rem;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .2s}.edit-btn{background:#f0f0f0;color:#333;text-decoration:none;border:none}.edit-btn:hover{background:#e0e0e0}.delete-btn{background:#ffebee;color:#c62828;border:none}.delete-btn:hover{background:#ffcdd2}.delete-confirm{padding:.75rem;background:#fff3e0;border-radius:8px;margin-bottom:1rem;text-align:center}.delete-confirm p{margin:0 0 .75rem}.confirm-actions{display:flex;justify-content:center;gap:1rem}.confirm-delete{padding:.5rem 1rem;background:#c62828;color:#fff;border:none;border-radius:6px;cursor:pointer}.cancel-delete{padding:.5rem 1rem;background:#f0f0f0;border:none;border-radius:6px;cursor:pointer}.perfume-hero{display:grid;grid-template-columns:180px 1fr;gap:1.25rem;margin-bottom:1.25rem;padding:1.25rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;width:100%;box-sizing:border-box;overflow:hidden;position:relative}.hero-actions{position:absolute;top:.75rem;right:.75rem;display:flex;align-items:center;gap:6px;z-index:10}.hero-image{aspect-ratio:1;border-radius:8px;overflow:hidden;background:#f5f5f5}.hero-image img{width:100%;height:100%;object-fit:contain;padding:.5rem}.hero-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:4rem;background:linear-gradient(135deg,#f8f9fa,#e9ecef)}.hero-info h1{margin:0 0 .25rem;font-size:1.5rem;color:#1a1a2e;word-wrap:break-word;overflow-wrap:break-word}.hero-info .brand{margin:0 0 .5rem;font-size:1rem;color:#666}.buy-btn{position:absolute;bottom:1rem;right:1rem;padding:.35rem 1rem;background-color:#8b4a4a;color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:700;letter-spacing:.05em;cursor:pointer;transition:opacity .2s;z-index:1}.buy-btn:hover{opacity:.85}.meta-tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}.gender-tag,.concentration-tag,.year-tag{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:500}.gender-tag.men{background:#e3f2fd;color:#1565c0}.gender-tag.women{background:#fce4ec;color:#c2185b}.gender-tag.unisex{background:#f3e5f5;color:#7b1fa2}.concentration-tag{background:#fff3e0;color:#e65100}.year-tag{background:#e8f5e9;color:#2e7d32}.description{margin:0;line-height:1.5;color:#444;font-size:.9rem;word-wrap:break-word;overflow-wrap:break-word}.detail-sections{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;overflow:hidden;width:100%;box-sizing:border-box}.detail-section{padding:1rem;background:#fff;border-radius:10px;box-shadow:0 2px 6px #00000014;overflow:hidden;min-width:0}.detail-section.notes-col{padding:0;overflow:visible}.notes-sticky-inner{position:sticky;top:1rem;max-height:calc(100vh - 2rem);display:flex;flex-direction:column;overflow:hidden;padding:1rem;background:#fff;border-radius:10px}.notes-sticky-inner h2{flex-shrink:0}.notes-sticky-inner .subsection{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;margin-bottom:0}.notes-sticky-inner .subsection-title{flex-shrink:0}.notes-sticky-inner .notes-pyramid-all{flex:1;min-height:0;overflow:hidden}.notes-sticky-inner .notes-search-bar,.notes-sticky-inner .notes-tabs{flex-shrink:0}.notes-sticky-inner .notes-content{flex:1;min-height:0!important;max-height:none!important;display:flex;flex-direction:column;overflow:hidden}.notes-sticky-inner .notes-list-scrollable{flex:1;min-height:0;max-height:none!important;overflow-y:auto}.detail-section h2{margin:0 0 .75rem;font-size:1rem;color:#1a1a2e;padding-bottom:.5rem;border-bottom:2px solid #f0f0f0}.subsection{margin-bottom:1.5rem}.subsection:last-child{margin-bottom:0}.subsection-title{font-size:.9rem;font-weight:600;color:#555;margin:0 0 .75rem;padding:.5rem .75rem;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:6px;border-left:3px solid #8b4a4a;display:flex;align-items:center;gap:.5rem}.search-urls{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.search-url-card{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#f9f9f9;border-radius:8px;text-decoration:none;color:inherit;transition:background .2s,transform .2s}.search-url-card:hover{background:#f0f0f0;transform:translateY(-2px)}.site-name{font-weight:500;color:#333}.site-country{font-size:.8rem;padding:.25rem .5rem;background:#e0e0e0;border-radius:4px;color:#666}.detail-section:has(.similar-perfumes),.detail-section:has(.suggested-similar){grid-column:1 / -1}@media (max-width: 768px){.perfume-hero{grid-template-columns:120px 1fr;padding:1rem;gap:1rem}.hero-image{max-width:120px}.hero-info{padding-right:50px}.hero-info h1{font-size:1.2rem}.hero-info .brand{font-size:.9rem}.buy-btn{position:static;grid-column:1 / -1;order:3;width:100%;padding:.5rem 1rem;font-size:.85rem;border-radius:8px;margin-top:.25rem}.detail-sections{grid-template-columns:1fr}.detail-header{flex-direction:row;gap:.5rem;align-items:center;margin-bottom:0}.detail-section{padding:.75rem}}.where-to-buy-wrapper,.detail-section.full-width{grid-column:1 / -1}@media (max-width: 480px){.perfume-detail-page{padding:0 .5rem;overflow-x:hidden}.perfume-hero{grid-template-columns:100px 1fr;padding:.75rem;gap:.75rem}.hero-image{max-width:100px}.hero-info{padding-right:46px}.hero-info h1{font-size:1.1rem;word-wrap:break-word}.hero-info .brand{font-size:.85rem}.meta-tags{gap:.3rem}.gender-tag,.concentration-tag,.year-tag{font-size:.7rem;padding:.2rem .4rem}.description{font-size:.85rem;word-wrap:break-word}.detail-sections{overflow-x:hidden}.detail-section{padding:.6rem;overflow-x:hidden}.detail-section h2{font-size:.9rem;margin-bottom:.6rem}.search-urls{grid-template-columns:1fr}.header-actions{flex-direction:column;width:100%}.edit-btn,.delete-btn{width:100%;text-align:center}}@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:20px 0,-20px 100%,0 -20px,100% 20px}}:root{--rc-drag-handle-size: 12px;--rc-drag-handle-mobile-size: 24px;--rc-drag-handle-bg-colour: rgba(0, 0, 0, .2);--rc-drag-bar-size: 6px;--rc-border-color: rgba(255, 255, 255, .7);--rc-focus-color: #0088ff}.ReactCrop{position:relative;display:inline-block;cursor:crosshair;max-width:100%}.ReactCrop *,.ReactCrop *:before,.ReactCrop *:after{box-sizing:border-box}.ReactCrop--disabled,.ReactCrop--locked{cursor:inherit}.ReactCrop__child-wrapper{overflow:hidden;max-height:inherit}.ReactCrop__child-wrapper>img,.ReactCrop__child-wrapper>video{display:block;max-width:100%;max-height:inherit}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>img,.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__child-wrapper>video{touch-action:none}.ReactCrop:not(.ReactCrop--disabled) .ReactCrop__crop-selection{touch-action:none}.ReactCrop__crop-mask{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;width:calc(100% + .5px);height:calc(100% + .5px)}.ReactCrop__crop-selection{position:absolute;top:0;left:0;transform:translateZ(0);cursor:move}.ReactCrop--disabled .ReactCrop__crop-selection{cursor:inherit}.ReactCrop--circular-crop .ReactCrop__crop-selection{border-radius:50%}.ReactCrop--circular-crop .ReactCrop__crop-selection:after{pointer-events:none;content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border:1px solid var(--rc-border-color);opacity:.3}.ReactCrop--no-animate .ReactCrop__crop-selection{outline:1px dashed white}.ReactCrop__crop-selection:not(.ReactCrop--no-animate .ReactCrop__crop-selection){animation:marching-ants 1s;background-image:linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to right,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%),linear-gradient(to bottom,#fff 50%,#444 50%);background-size:10px 1px,10px 1px,1px 10px,1px 10px;background-position:0 0,0 100%,0 0,100% 0;background-repeat:repeat-x,repeat-x,repeat-y,repeat-y;color:#fff;animation-play-state:running;animation-timing-function:linear;animation-iteration-count:infinite}.ReactCrop__crop-selection:focus{outline:2px solid var(--rc-focus-color);outline-offset:-1px}.ReactCrop--invisible-crop .ReactCrop__crop-mask,.ReactCrop--invisible-crop .ReactCrop__crop-selection{display:none}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after,.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{content:"";display:block;position:absolute;background-color:#fff6}.ReactCrop__rule-of-thirds-vt:before,.ReactCrop__rule-of-thirds-vt:after{width:1px;height:100%}.ReactCrop__rule-of-thirds-vt:before{left:33.3333333333%}.ReactCrop__rule-of-thirds-vt:after{left:66.6666666667%}.ReactCrop__rule-of-thirds-hz:before,.ReactCrop__rule-of-thirds-hz:after{width:100%;height:1px}.ReactCrop__rule-of-thirds-hz:before{top:33.3333333333%}.ReactCrop__rule-of-thirds-hz:after{top:66.6666666667%}.ReactCrop__drag-handle{position:absolute;width:var(--rc-drag-handle-size);height:var(--rc-drag-handle-size);background-color:var(--rc-drag-handle-bg-colour);border:1px solid var(--rc-border-color)}.ReactCrop__drag-handle:focus{background:var(--rc-focus-color)}.ReactCrop .ord-nw{top:0;left:0;transform:translate(-50%,-50%);cursor:nw-resize}.ReactCrop .ord-n{top:0;left:50%;transform:translate(-50%,-50%);cursor:n-resize}.ReactCrop .ord-ne{top:0;right:0;transform:translate(50%,-50%);cursor:ne-resize}.ReactCrop .ord-e{top:50%;right:0;transform:translate(50%,-50%);cursor:e-resize}.ReactCrop .ord-se{bottom:0;right:0;transform:translate(50%,50%);cursor:se-resize}.ReactCrop .ord-s{bottom:0;left:50%;transform:translate(-50%,50%);cursor:s-resize}.ReactCrop .ord-sw{bottom:0;left:0;transform:translate(-50%,50%);cursor:sw-resize}.ReactCrop .ord-w{top:50%;left:0;transform:translate(-50%,-50%);cursor:w-resize}.ReactCrop__disabled .ReactCrop__drag-handle{cursor:inherit}.ReactCrop__drag-bar{position:absolute}.ReactCrop__drag-bar.ord-n{top:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(-50%)}.ReactCrop__drag-bar.ord-e{right:0;top:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(50%)}.ReactCrop__drag-bar.ord-s{bottom:0;left:0;width:100%;height:var(--rc-drag-bar-size);transform:translateY(50%)}.ReactCrop__drag-bar.ord-w{top:0;left:0;width:var(--rc-drag-bar-size);height:100%;transform:translate(-50%)}.ReactCrop--new-crop .ReactCrop__drag-bar,.ReactCrop--new-crop .ReactCrop__drag-handle,.ReactCrop--fixed-aspect .ReactCrop__drag-bar,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-n,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-e,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-s,.ReactCrop--fixed-aspect .ReactCrop__drag-handle.ord-w{display:none}@media (pointer: coarse){.ReactCrop .ord-n,.ReactCrop .ord-e,.ReactCrop .ord-s,.ReactCrop .ord-w{display:none}.ReactCrop__drag-handle{width:var(--rc-drag-handle-mobile-size);height:var(--rc-drag-handle-mobile-size)}}.image-crop-upload,.current-image-section{width:100%}.image-preview-container{position:relative;width:200px;height:267px;border-radius:12px;overflow:hidden;cursor:pointer;background:#f5f5f5;border:2px dashed #ddd;transition:all .2s}.image-preview-container:hover{border-color:#8b4a4a}.image-preview-container:hover .image-overlay{opacity:1}.current-image{width:100%;height:100%;object-fit:cover}.image-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;color:#888}.placeholder-icon{font-size:3rem}.placeholder-text{font-size:.85rem;text-align:center;padding:0 1rem}.image-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;opacity:0;transition:opacity .2s}.hidden-input{display:none}.crop-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.crop-modal-content{background:#fff;border-radius:16px;padding:1.5rem;max-width:90vw;max-height:90vh;overflow:auto}.crop-modal-content h3{margin:0 0 1rem;font-size:1.25rem;color:#1a1a2e}.crop-container{display:flex;justify-content:center;margin-bottom:1.5rem;background:#f0f0f0;border-radius:8px;padding:1rem}.crop-actions{display:flex;gap:1rem;justify-content:flex-end;flex-wrap:wrap}.btn{padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;border:none}.btn-primary{background:linear-gradient(135deg,#8b4a4a,#b07840);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #8b4a4a66}.btn-secondary{background:#f5f5f5;color:#666}.btn-secondary:hover{background:#e8e8e8}.btn-outline{background:#fff;color:#8b4a4a;border:2px solid #8b4a4a}.btn-outline:hover{background:#fdf5f5}@media (max-width: 600px){.image-preview-container{width:150px;height:200px}.crop-actions{flex-direction:column}.crop-actions .btn{width:100%}}.perfume-form-page{max-width:800px;margin:0 auto;padding:0 1rem;width:100%;box-sizing:border-box;overflow-x:hidden}.loading-page{text-align:center;padding:4rem 2rem;color:#666}.form-header{margin-bottom:1.5rem}.form-header .back-link{display:inline-block;margin-bottom:.5rem;color:#666;text-decoration:none}.form-header .back-link:hover{color:#8b4a4a}.form-header h1{margin:0;font-size:1.75rem}.error-message{padding:1rem;background:#ffebee;color:#c62828;border-radius:8px;margin-bottom:1.5rem}.perfume-form{display:flex;flex-direction:column;gap:1.5rem}.form-section{padding:1.5rem;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.form-section h2{margin:0 0 1.5rem;font-size:1.1rem;color:#1a1a2e;padding-bottom:.75rem;border-bottom:2px solid #f0f0f0}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.form-group:last-child{margin-bottom:0}.form-group label{font-size:.9rem;font-weight:500;color:#333}.form-group input,.form-group select,.form-group textarea{padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;outline:none;transition:border-color .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#8b4a4a}.form-group textarea{resize:vertical;min-height:100px}.add-item-row{display:flex;gap:.75rem;margin-bottom:1rem}.add-item-row select,.add-item-row input{flex:1;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:.9rem;outline:none}.add-item-row input[type=number]{max-width:100px}.add-btn{padding:.75rem 1.25rem;background:#8b4a4a;color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:background .2s}.add-btn:hover{background:#7a3f3f}.selected-items{display:flex;flex-wrap:wrap;gap:.5rem}.selected-item{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:#f5f5f5;border-radius:20px;font-size:.9rem}.item-name{font-weight:500}.item-type{font-size:.75rem;padding:.125rem .5rem;border-radius:10px;background:#e0e0e0}.item-type.top{background:#fff8e1;color:#ff8f00}.item-type.middle{background:#fce4ec;color:#c2185b}.item-type.base{background:#efebe9;color:#5d4037}.item-strength{font-size:.8rem;color:#666}.remove-btn{width:20px;height:20px;padding:0;background:#e0e0e0;border:none;border-radius:50%;font-size:1rem;line-height:1;cursor:pointer;transition:background .2s}.remove-btn:hover{background:#f44336;color:#fff}.form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:.5rem}.submit-btn{padding:1rem 2rem;background:linear-gradient(135deg,#8b4a4a,#b07840);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #8b4a4a4d}.submit-btn:disabled{opacity:.7;cursor:not-allowed}.cancel-btn{padding:1rem 2rem;background:#f0f0f0;color:#333;text-decoration:none;border-radius:8px;font-size:1rem;font-weight:500;transition:background .2s}.cancel-btn:hover{background:#e0e0e0}.image-upload-group{margin-bottom:1.5rem}.image-upload-wrapper{display:flex;gap:1.5rem;align-items:flex-start}.image-url-fallback{flex:1;display:flex;flex-direction:column;gap:.75rem}.or-divider{display:block;text-align:center;color:#888;font-size:.85rem;position:relative}.or-divider:before,.or-divider:after{content:"";position:absolute;top:50%;width:30%;height:1px;background:#ddd}.or-divider:before{left:0}.or-divider:after{right:0}.image-url-fallback input{padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:.9rem;outline:none;transition:border-color .2s}.image-url-fallback input:focus{border-color:#8b4a4a}.image-url-fallback input:disabled{background:#f5f5f5;cursor:not-allowed}@media (max-width: 600px){.add-item-row{flex-wrap:wrap}.add-item-row select,.add-item-row input{min-width:100%}.form-actions{flex-direction:column}.submit-btn,.cancel-btn{text-align:center}.image-upload-wrapper{flex-direction:column}}.trusted-sites-page{max-width:1000px;margin:0 auto;padding:0 1rem 2rem;background:#f9f7f4;min-height:100vh;box-sizing:border-box}.page-header{padding:1.25rem 0 .75rem}.page-header h1{margin:0 0 .2rem;font-size:1.4rem;color:#3d2020;font-weight:700}.page-header p{margin:0;color:#a08080;font-size:.85rem}.tabs{display:flex;gap:0;border-bottom:2px solid #e8d8d8;margin-bottom:1rem}.tab{padding:.65rem 1.1rem;background:transparent;border:none;border-bottom:3px solid transparent;font-size:.88rem;font-weight:500;color:#a08080;cursor:pointer;transition:all .2s;margin-bottom:-2px;white-space:nowrap}.tab:hover{color:#8b4a4a}.tab.active{color:#8b4a4a;border-bottom-color:#8b4a4a;font-weight:700}.filter-bar{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.status-filter{padding:.5rem .85rem;border:1.5px solid #e8d8d8;border-radius:8px;font-size:.85rem;background:#fff;color:#3d2020;cursor:pointer;outline:none;transition:border-color .2s}.status-filter:focus{border-color:#8b4a4a}.sites-count{color:#a08080;font-size:.82rem}.sites-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.75rem}.site-card{display:flex;align-items:center;gap:.85rem;padding:.85rem 1rem;background:#fff;border-radius:12px;box-shadow:0 1px 4px #5a353512;text-decoration:none;color:inherit;transition:transform .18s,box-shadow .18s;border:1.5px solid #f0e8e8;border-left:4px solid #e8d8d8;min-width:0}.site-card:hover{transform:translateY(-2px);box-shadow:0 4px 14px #8b4a4a21;border-color:#e8d8d8;border-left-color:inherit}.site-card.trusted{border-left-color:#6abf6a}.site-card.waiting_review{border-left-color:#e0a040}.site-card.suggested{border-left-color:#7aabda}.site-logo{width:38px;height:38px;flex-shrink:0;object-fit:contain;border-radius:8px;background:#faf5f5;padding:4px;border:1px solid #f0e8e8}.site-info{flex:1;min-width:0}.site-info h3{margin:0 0 .15rem;font-size:.9rem;font-weight:700;color:#2d1a1a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-url{font-size:.75rem;color:#b09090;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.site-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.3rem;flex-shrink:0}.country-badge{font-size:.7rem;font-weight:700;padding:.15rem .5rem;background:#f0f4fa;color:#5a78a0;border-radius:10px;white-space:nowrap}.country-badge.bulgarian{background:#e8f5e9;color:#2e7d32}.status-badge{font-size:.68rem;font-weight:600;padding:.2rem .5rem;border-radius:8px;white-space:nowrap;text-align:center}.status-badge.trusted{background:#e8f5e9;color:#2e7d32}.status-badge.waiting_review{background:#fff3e0;color:#c07000}.status-badge.suggested{background:#e3f2fd;color:#1565c0}.loading{text-align:center;padding:3rem;color:#a08080}.empty-state{text-align:center;padding:4rem 2rem;background:#fff;border-radius:12px;color:#a08080;border:1.5px dashed #e8d8d8}@media (max-width: 600px){.trusted-sites-page{padding:0 .75rem 2rem}.sites-grid{grid-template-columns:1fr}.tab{padding:.6rem .75rem;font-size:.82rem}.site-card{padding:.75rem}}.loading{text-align:center;padding:2rem;color:#666}.error-message{background:#ffebee;color:#c62828;padding:1rem;border-radius:8px;margin-bottom:1rem}.empty-message{color:#666;text-align:center;padding:2rem;background:#f5f5f5;border-radius:8px}
