:root{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6;font-weight:400;color-scheme:light;color:#2d1810;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#f4a261;text-decoration:inherit}a:hover{color:#e76f51}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;background-color:#fff;color:#2d1810}h1{font-size:3.2em;line-height:1.1;color:#2d1810}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#f4a261;color:#2d1810;cursor:pointer;transition:border-color .25s}button:hover{border-color:#e76f51;background-color:#e76f51;color:#fff}button:focus,button:focus-visible{outline:4px auto #F4A261}@media (prefers-color-scheme: dark){:root{color:#f9fafb;background-color:#1f2937}body{background-color:#1f2937;color:#f9fafb}a{color:#f4a261}a:hover{color:#f4d03f}button{background-color:#374151;color:#f9fafb}}.favorite-button{position:relative;background:#fffffff2;border:2px solid #e5e7eb;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s cubic-bezier(.4,0,.2,1);color:#9ca3af;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 8px #0000001a;overflow:hidden}.favorite-button.small{width:32px;height:32px;padding:6px}.favorite-button.medium{width:40px;height:40px;padding:8px}.favorite-button.large{width:56px;height:56px;padding:12px}.heart-icon{width:100%;height:100%;transition:all .3s cubic-bezier(.4,0,.2,1);stroke-width:1.5;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.favorite-button:not(.favorited):hover{transform:scale(1.1);box-shadow:0 4px 16px #00000026;border-color:#ef4444;background:linear-gradient(135deg,#fff,#fef2f2)}.favorite-button:not(.favorited):hover .heart-icon{color:#ef4444;stroke-width:2;transform:scale(1.1)}.favorite-button.favorited{background:linear-gradient(135deg,#ef4444,#dc2626);border-color:#dc2626;color:#fff;box-shadow:0 4px 14px #ef444466,inset 0 1px #fff3}.favorite-button.favorited:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(255,255,255,.2) 0%,transparent 50%,rgba(255,255,255,.1) 100%);border-radius:inherit;pointer-events:none}.favorite-button.favorited .heart-icon{fill:#fff;stroke:#fff;color:#fff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.2))}.favorite-button.favorited:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:scale(1.1);box-shadow:0 6px 20px #ef444480,inset 0 1px #fff3}.favorite-button.favorited:hover .heart-icon{transform:scale(1.1)}.favorite-button.animating{animation:heartPulse .6s cubic-bezier(.4,0,.2,1)}.favorite-button.animating .heart-icon{animation:heartBeat .6s cubic-bezier(.4,0,.2,1)}@keyframes heartPulse{0%{transform:scale(1)}15%{transform:scale(1.3)}30%{transform:scale(.95)}45%{transform:scale(1.15)}60%{transform:scale(1)}}@keyframes heartBeat{0%{transform:scale(1)}15%{transform:scale(1.4)}30%{transform:scale(1)}45%{transform:scale(1.2)}60%{transform:scale(1)}}.favorite-button.loading{pointer-events:none;opacity:.7}.loading-spinner{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:#ffffffe6;border-radius:inherit}.spinner{width:16px;height:16px;color:#6b7280}.favorite-button:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.favorite-button:disabled:hover{transform:none!important;box-shadow:0 2px 8px #0000001a;border-color:#e5e7eb;background:#fffffff2}.favorite-button:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.detail-page-favorite{border-radius:12px!important;width:auto!important;height:auto!important;min-height:56px;padding:.875rem 1.5rem!important;gap:.75rem;flex:1}.detail-page-favorite .heart-icon{width:20px!important;height:20px!important}.detail-page-favorite .button-text{font-weight:600;font-size:1rem;white-space:nowrap}.detail-page-favorite.favorited{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border-color:#dc2626}.detail-page-favorite:not(.favorited){background:linear-gradient(135deg,#fff,#fef2f2);color:#ef4444;border-color:#ef4444}.detail-page-favorite:not(.favorited):hover{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;transform:translateY(-2px);box-shadow:0 8px 25px #ef444466}.detail-page-favorite.favorited:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-2px);box-shadow:0 8px 25px #ef444480}@media (max-width: 768px){.favorite-button{min-width:44px;min-height:44px}.favorite-button.small{width:40px;height:40px}.favorite-button:hover{transform:none}.favorite-button:active{transform:scale(.95)}.detail-page-favorite{min-height:52px;padding:.75rem 1rem!important;font-size:.9rem;gap:.5rem}.detail-page-favorite .heart-icon{width:18px!important;height:18px!important}}@media (max-width: 480px){.detail-page-favorite{min-height:48px;padding:.625rem .75rem!important;font-size:.85rem;gap:.4rem}.detail-page-favorite .heart-icon{width:16px!important;height:16px!important}}.chocolate-card .favorite-button{position:absolute;top:12px;right:12px;z-index:10;opacity:.9}.chocolate-card:hover .favorite-button{opacity:1}.chocolate-card .favorite-button.favorited{opacity:1;box-shadow:0 4px 14px #ef444466,0 2px 8px #0000001a}@keyframes favoritePulse{0%{box-shadow:0 4px 14px #ef444466}50%{box-shadow:0 4px 14px #ef4444b3}to{box-shadow:0 4px 14px #ef444466}}.favorite-button.favorited.animating{animation:heartPulse .6s cubic-bezier(.4,0,.2,1),favoritePulse .6s ease-in-out}@media (prefers-reduced-motion: reduce){.favorite-button,.heart-icon{transition:none;animation:none}.favorite-button:hover,.favorite-button.favorited:hover{transform:none}}.want-to-try-button{display:flex;align-items:center;justify-content:center;border:none;cursor:pointer;transition:all .3s ease;font-family:inherit;position:relative;outline:none}.want-to-try-button.icon-only{width:36px;height:36px;border-radius:50%;padding:0;background:#fffffff2;color:#6b7280;border:2px solid #e5e7eb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 8px #0000001a}.want-to-try-button.icon-only:hover:not(:disabled){transform:scale(1.1);color:#3b82f6;border-color:#3b82f6;background:#fff;box-shadow:0 4px 12px #3b82f633}.want-to-try-button.icon-only.in-want-to-try{background:#3b82f6;color:#fff;border-color:#3b82f6;box-shadow:0 2px 8px #3b82f64d}.want-to-try-button.icon-only.in-want-to-try:hover:not(:disabled){background:#2563eb;border-color:#2563eb;box-shadow:0 4px 12px #3b82f666}.want-to-try-button.with-text{min-height:56px;border-radius:12px;padding:.875rem 1.5rem;font-weight:600;gap:.75rem;font-size:1rem;border:2px solid #3b82f6;background:linear-gradient(135deg,#fff,#eff6ff);color:#3b82f6;flex:1}.want-to-try-button.with-text:hover:not(:disabled){background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;transform:translateY(-2px);box-shadow:0 8px 25px #3b82f666}.want-to-try-button.with-text.in-want-to-try{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 4px 15px #3b82f64d}.want-to-try-button.with-text.in-want-to-try:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 8px 25px #3b82f680}.want-to-try-button .bookmark-icon{width:18px;height:18px;flex-shrink:0;transition:all .3s ease}.want-to-try-button.icon-only .bookmark-icon{width:16px;height:16px}.want-to-try-button.with-text .bookmark-icon{width:20px;height:20px}.want-to-try-button .button-text{font-weight:600;white-space:nowrap;transition:all .3s ease}.loading-spinner{width:16px;height:16px;border:2px solid currentColor;border-top:2px solid transparent;border-radius:50%;animation:spin 1s linear infinite}.want-to-try-button.loading{opacity:.7;cursor:not-allowed;transform:none!important}.want-to-try-button.loading:hover{transform:none!important}.tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);background:#1f2937;color:#fff;padding:6px 12px;border-radius:6px;font-size:12px;white-space:nowrap;z-index:1000;pointer-events:none;opacity:0;animation:tooltipFadeIn .3s ease forwards}.tooltip-arrow{position:absolute;top:100%;left:50%;transform:translate(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:4px solid #1f2937}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.want-to-try-container.detail-page{position:relative;flex:1}.want-to-try-container:not(.detail-page){position:relative}.want-to-try-button:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}@media (max-width: 768px){.want-to-try-button.with-text{min-height:52px;padding:.75rem 1rem;font-size:.9rem;gap:.5rem}.want-to-try-button.with-text .bookmark-icon{width:18px;height:18px}.want-to-try-button.with-text .button-text{font-size:.9rem}.want-to-try-button.icon-only{width:32px;height:32px}.want-to-try-button.icon-only .bookmark-icon{width:14px;height:14px}.want-to-try-button.icon-only:hover{transform:none}.want-to-try-button.icon-only:active{transform:scale(.95)}}@media (max-width: 480px){.want-to-try-button.with-text{min-height:48px;padding:.625rem .75rem;font-size:.85rem;gap:.4rem}.want-to-try-button.with-text .bookmark-icon{width:16px;height:16px}.want-to-try-button.with-text .button-text{font-size:.85rem}}@media (prefers-contrast: high){.want-to-try-button.icon-only,.want-to-try-button.with-text{border-width:3px}}@media (prefers-reduced-motion: reduce){.want-to-try-button,.want-to-try-button .bookmark-icon,.want-to-try-button .button-text,.loading-spinner{transition:none;animation:none}.want-to-try-button:hover{transform:none}}:root{--card-radius: 16px;--primary-chocolate: #2D1810;--accent-gold: #F4A261;--accent-warm: #F59E0B;--text-dark: #1F2937;--text-medium: #6B7280;--text-light: #9CA3AF;--background-white: #FFFFFF;--background-light: #F8FAFC;--border-light: #E5E7EB;--border-subtle: #F1F5F9;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--shadow-xl: 0 16px 40px rgba(0, 0, 0, .15);--transition: all .3s cubic-bezier(.4, 0, .2, 1)}.chocolate-card{display:flex;flex-direction:column;background:var(--background-white);border:1px solid var(--border-light);border-radius:var(--card-radius);overflow:hidden;box-shadow:var(--shadow-md);transition:var(--transition);height:400px;width:100%;position:relative;margin-bottom:20px;cursor:pointer;text-decoration:none;color:inherit}.chocolate-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-xl);border-color:var(--accent-gold)}.chocolate-card.featured{border:2px solid var(--accent-gold);box-shadow:0 6px 20px #f4a26126}.chocolate-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,var(--accent-gold) 50%,transparent 100%);opacity:0;transition:opacity .3s ease;z-index:1}.chocolate-card:hover:before,.chocolate-card.featured:before{opacity:1}.chocolate-card.featured:before{height:3px}.image-container{height:220px;width:100%;position:relative;overflow:hidden;background:linear-gradient(135deg,#FEFEFE 0%,var(--background-light) 100%);display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--border-subtle)}.image-container img,.card-image{width:85%;height:85%;object-fit:contain;object-position:center;transition:transform .3s ease;border-radius:8px}.chocolate-card:hover .image-container img,.chocolate-card:hover .card-image{transform:scale(1.05)}.chocolate-link{text-decoration:none;color:inherit;display:block}.card-actions{position:absolute;top:12px;right:12px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:4px;z-index:20;width:36px}.card-actions>*:nth-child(n+3){display:none!important}.card-actions>*{width:36px!important;height:36px!important;min-width:36px!important;max-width:36px!important;min-height:36px!important;max-height:36px!important;border-radius:50%!important;background:#fffffff2!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;border:1px solid rgba(0,0,0,.08)!important;box-shadow:0 2px 8px #0000001a!important;display:flex!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;transition:all .3s ease!important;padding:0!important;margin:0!important;outline:none!important;position:relative!important;flex-shrink:0!important;flex-grow:0!important;line-height:0!important;font-size:0!important;vertical-align:middle!important}.card-actions>*:hover{transform:scale(1.1);background:#fff;box-shadow:0 4px 16px #00000026}.card-actions svg{width:18px!important;height:18px!important;display:block!important;position:relative!important;top:0!important;left:0!important;margin:0!important;padding:0!important;transform:none!important;vertical-align:middle!important;pointer-events:none!important;opacity:1!important;visibility:visible!important}.chocolate-card .card-actions .favorite-button{background:#fffffff2!important;background-image:none!important;color:#9ca3af!important}.chocolate-card .card-actions .favorite-button.favorited{background:#fffffff2!important;background-image:none!important;color:#ef4444!important}.chocolate-card .card-actions .favorite-button svg,.chocolate-card .card-actions .favorite-button .heart-icon{display:inline-block!important;width:18px!important;height:18px!important;fill:currentColor!important;stroke:currentColor!important;opacity:1!important;visibility:visible!important;position:static!important;margin:0!important;padding:0!important;color:inherit!important}.chocolate-card .card-actions .favorite-button:before,.chocolate-card .card-actions .favorite-button:after,.chocolate-card .card-actions .favorite-button>*:not(svg):not(.heart-icon){display:none!important}.want-to-try-button:not(.active):not(.added):not(.is-added):not(.in-list) svg{fill:none;stroke:#9ca3af;stroke-width:2}.want-to-try-button:not(.active):not(.added):not(.is-added):not(.in-list):hover svg{stroke:#f59e0b;fill:#f59e0b1a}.want-to-try-button.active,.want-to-try-button.added,.want-to-try-button.is-added,.want-to-try-button.in-list{background:#fef3c7e6!important}.want-to-try-button.active svg,.want-to-try-button.added svg,.want-to-try-button.is-added svg,.want-to-try-button.in-list svg{fill:#f59e0b;stroke:#f59e0b;stroke-width:0}.card-actions>*:focus-visible{outline:2px solid var(--accent-gold);outline-offset:2px}.card-content{padding:18px;display:flex;flex-direction:column;height:180px;gap:8px;background:var(--background-white)}.card-maker-link{text-decoration:none;color:inherit;transition:color .2s ease}.card-maker{font-size:.8rem;color:var(--text-medium);font-weight:500;margin:0;line-height:1.2;text-transform:uppercase;letter-spacing:.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-maker-link:hover .card-maker{color:var(--accent-gold)}.chocolate-title-link{text-decoration:none;color:inherit;flex-grow:1;display:flex;align-items:flex-start}.card-title{font-size:1rem;color:var(--text-dark);font-weight:700;line-height:1.3;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;height:2.6rem;transition:color .2s ease}.chocolate-title-link:hover .card-title{color:var(--accent-gold)}.card-details{display:flex;gap:6px;margin:6px 0}.card-details .origin,.card-details .percentage{padding:5px 10px;border-radius:12px;font-weight:600;font-size:.7rem;text-align:center;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:transform .2s ease}.card-details .origin{background:linear-gradient(135deg,#ecfdf5,#d1fae5);color:#065f46;border:1px solid #A7F3D0}.card-details .percentage{background:linear-gradient(135deg,#8b4513,sienna);color:#fff!important;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.3);border:1px solid transparent}.chocolate-card:hover .card-details .origin,.chocolate-card:hover .card-details .percentage{transform:translateY(-1px)}.card-rating{display:flex;align-items:center;gap:6px;margin-top:auto;padding-top:10px;border-top:1px solid var(--border-subtle)}.rating-value{font-weight:800;color:var(--text-dark);font-size:.95rem;min-width:28px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.stars{display:flex;gap:1px;margin-right:auto}.stars .star{font-size:.85rem;line-height:1;transition:transform .2s ease}.stars .star.filled{color:var(--accent-warm);text-shadow:0 1px 3px rgba(245,158,11,.4);filter:drop-shadow(0 0 2px rgba(245,158,11,.3))}.stars .star.half{color:var(--accent-warm);text-shadow:0 1px 3px rgba(245,158,11,.4)}.stars .star.empty{color:#d1d5db}.chocolate-card:hover .stars .star.filled{transform:scale(1.1)}.rating-count{font-size:.7rem;color:var(--text-medium);font-weight:500;padding:2px 6px;background:var(--background-light);border-radius:8px;border:1px solid #E2E8F0}.chocolate-grid,.chocolate-cards,.featured-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;padding:0 20px;margin:20px auto 40px;max-width:1400px}.chocolate-card.loading .image-container{background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0,#f1f5f9 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@media (min-width: 1200px){.chocolate-grid,.chocolate-cards,.featured-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:28px;padding:0 24px}}@media (max-width: 1199px){.chocolate-grid,.chocolate-cards,.featured-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;padding:0 16px}}@media (max-width: 768px){.chocolate-card{height:380px;margin-bottom:16px}.image-container{height:200px}.card-content{height:180px;padding:16px}.card-actions{top:10px;right:10px}.card-actions>*{width:32px!important;height:32px!important}.card-actions svg{width:16px!important;height:16px!important}.chocolate-grid,.chocolate-cards,.featured-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;padding:0 12px}}@media (max-width: 480px){.chocolate-card{height:360px}.image-container{height:180px}.card-content{padding:14px}.card-title{font-size:.9rem}.chocolate-grid,.chocolate-cards,.featured-grid{grid-template-columns:1fr;gap:16px;padding:0 16px}}.chocolate-card:focus-visible,.card-maker-link:focus-visible,.chocolate-title-link:focus-visible{outline:2px solid var(--accent-gold);outline-offset:2px;border-radius:var(--card-radius)}@media (prefers-reduced-motion: reduce){.chocolate-card,.image-container img,.stars .star,.card-actions>*{transition:none}.chocolate-card:hover .stars .star.filled{transform:none}}.hero-section{background-image:url(https://images.unsplash.com/photo-1511381939415-e44015466834?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=2072&q=80);background-size:cover;background-position:center;position:relative;min-height:85vh;display:flex;align-items:center;width:100%;overflow:hidden}.hero-section:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#0006;z-index:1}.hero-content{position:relative;z-index:2;color:#fff;text-align:left;max-width:600px;margin:0;padding:2rem 0;width:100%}.hero-title,.hero-content .hero-title,.hero-section .hero-title,.hero-section .display-1,.hero-content .display-1{font-family:Playfair Display,serif!important;font-size:clamp(2.5rem,7vw,4.5rem)!important;font-weight:700!important;line-height:1.1!important;letter-spacing:-.02em!important;margin:0 0 1.5rem!important;padding:0!important;color:#fff!important;text-shadow:0 4px 16px rgba(0,0,0,.5)!important;text-align:left!important;text-indent:0!important}.hero-subtitle,.hero-content .hero-subtitle,.hero-section .hero-subtitle{font-family:Inter,sans-serif!important;font-size:clamp(1.1rem,3.5vw,1.4rem)!important;font-weight:400!important;line-height:1.5!important;margin:0 0 2.5rem!important;padding:0!important;color:#fff!important;opacity:.95!important;text-shadow:0 2px 8px rgba(0,0,0,.4)!important;text-align:left!important;text-indent:0!important;max-width:500px!important}.search-container{position:relative;display:flex;align-items:center;margin:0 0 2rem;padding:0;max-width:500px;width:100%}.search-input{width:100%;padding:1rem 140px 1rem 1.5rem;border:none;border-radius:50px;font-size:1rem;background:#fffffff2;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 8px 32px #0003;transition:all .3s ease;height:56px;margin:0;text-indent:0}.search-input:focus{outline:none;background:#fff;box-shadow:0 12px 40px #00000040;transform:translateY(-2px)}.search-input::placeholder{color:#6b7280;font-weight:400}.search-button{position:absolute;right:4px;top:50%;transform:translateY(-50%);background:var(--brand-copper);color:#fff;border:none;padding:0 1.5rem;border-radius:50px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.95rem;height:48px;display:flex;align-items:center;justify-content:center;white-space:nowrap}.search-button:hover{background:#8b2f03;transform:translateY(-50%) scale(1.05);box-shadow:0 4px 16px #a73a0466}.hero-actions{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;margin:0;padding:0}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.875rem 1.75rem;border-radius:50px;font-weight:600;font-size:1rem;transition:all .3s ease;text-decoration:none;height:50px;margin:0;white-space:nowrap;cursor:pointer;border:2px solid transparent}.btn-primary{background:var(--brand-copper);color:#fff;border-color:var(--brand-copper)}.btn-primary:hover{background:#8b2f03;border-color:#8b2f03;transform:translateY(-2px);box-shadow:0 8px 24px #a73a044d}.btn-secondary{background:#ffffff26;color:#fff;border-color:#ffffff4d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.btn-secondary:hover{background:#ffffff40;border-color:#ffffff80;transform:translateY(-2px)}.featured-section{padding:4rem 0;background:#fff!important}.section-header{text-align:center;margin-bottom:3rem}.section-title{font-family:Playfair Display,serif;font-size:clamp(2rem,6vw,3rem);font-weight:700;margin-bottom:1rem;color:var(--text-primary);line-height:1.2}.section-subtitle{font-size:clamp(1rem,3vw,1.2rem);color:var(--text-secondary);line-height:1.6;max-width:600px;margin:0 auto}.view-all{color:var(--brand-copper);text-decoration:none;font-weight:700;display:inline-flex;align-items:center;gap:.5rem;transition:all .3s ease;font-size:1rem;margin-top:1rem}.view-all:hover{color:#8b2f03;transform:translate(4px)}.view-all:after{content:"→";transition:transform .3s ease}.view-all:hover:after{transform:translate(4px)}.featured-container{position:relative}.chocolate-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem;margin-bottom:2rem}.carousel-controls{display:flex;justify-content:center;align-items:center;gap:1.5rem;margin-top:2rem}.carousel-btn{width:44px;height:44px;border-radius:50%;background:#fff;border:2px solid var(--brand-copper);color:var(--brand-copper);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;font-size:1.2rem;font-weight:700}.carousel-btn:hover{background:var(--brand-copper);color:#fff;transform:scale(1.1)}.carousel-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.carousel-indicators{display:flex;gap:.5rem;align-items:center}.carousel-dot{width:12px;height:12px;border-radius:50%;background:#e5e7eb;cursor:pointer;transition:all .3s ease;border:none;padding:0}.carousel-dot.active{background:var(--brand-copper);transform:scale(1.4)}.carousel-dot:hover{background:var(--brand-taupe);transform:scale(1.2)}.how-it-works{padding:4rem 0;background:#fff!important}.how-it-works-content{text-align:center;margin-bottom:3rem}.steps-visual{display:flex;flex-direction:column;gap:2rem}.step-card{background:linear-gradient(135deg,var(--brand-cream) 0%,#F8F6F3 100%);border-radius:16px;padding:2rem;text-align:center;transition:all .3s ease;border:1px solid var(--border-light);position:relative;overflow:hidden}.step-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #a73a0426}.step-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#a73a040d,#b091690d);opacity:0;transition:opacity .3s ease}.step-card:hover:before{opacity:1}.step-icon{width:64px;height:64px;margin:0 auto 1.5rem;background:var(--brand-copper);border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;z-index:2}.step-icon svg{width:32px;height:32px;fill:#fff}.step-content h3{font-size:1.5rem;font-weight:700;margin-bottom:1rem;color:var(--text-primary);position:relative;z-index:2}.step-content p{color:var(--text-secondary);line-height:1.6;position:relative;z-index:2}.reviews-section{padding:4rem 0;background:#fff!important}.reviews-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;margin-top:2rem}.review-card{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 4px 20px #00000014;border:1px solid #E5E7EB;transition:all .3s ease;display:flex;flex-direction:column}.review-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px #0000001f}.review-header{display:flex;justify-content:space-between;margin-bottom:1.5rem;gap:1rem}.review-user .user-name{font-weight:600;color:var(--text-primary)}.review-user .review-date{font-size:.9rem;color:var(--text-secondary)}.review-rating{display:flex;gap:2px}.star{color:#fcd34d;font-size:1.2rem}.star.filled{color:#f59e0b}.star.empty{color:#e5e7eb}.review-chocolate{display:flex;gap:1rem;margin-bottom:1rem}.chocolate-image{width:60px;height:60px;background:var(--brand-cream);border-radius:8px;flex-shrink:0}.chocolate-info{flex:1;min-width:0}.reviews-section .review-card .chocolate-name,.reviews-section .chocolate-name,.review-card .chocolate-name{font-size:1rem!important;font-weight:600!important;color:var(--text-primary)!important;margin:0 0 .25rem!important;line-height:1.25!important;word-wrap:break-word!important;overflow-wrap:break-word!important;-webkit-hyphens:auto!important;hyphens:auto!important;max-height:3.75em!important;overflow:hidden!important;word-break:normal!important;white-space:normal!important}.reviews-section .review-card .chocolate-maker,.reviews-section .chocolate-maker,.review-card .chocolate-maker{font-size:1rem!important;color:var(--brand-copper)!important;margin:0!important;font-weight:600!important;line-height:1.25!important}.review-text{color:var(--text-secondary);line-height:1.6;margin-bottom:1rem;flex:1}.read-more{color:var(--brand-copper);text-decoration:none;font-weight:600;font-size:.9rem;transition:all .3s ease}.read-more:hover{color:#8b2f03;transform:translate(4px)}.no-reviews-message{text-align:center;padding:3rem 2rem;background:var(--brand-cream);border-radius:16px;grid-column:1 / -1}.no-reviews-message h3{color:var(--text-primary);margin-bottom:1rem}.no-reviews-message p{color:var(--text-secondary);margin-bottom:2rem}.cta-section{background:#fff;padding:80px 0;position:relative;overflow:hidden;border-top:1px solid #E5E7EB}.cta-section:before{display:none}.cta-content{max-width:700px;margin:0 auto;text-align:center;padding:0 20px;background:none;border:none}.cta-title{font-family:Playfair Display,serif;font-size:clamp(2rem,5vw,3rem);font-weight:700;margin-bottom:20px;color:#2d1810;line-height:1.2;background:none;-webkit-background-clip:unset;-webkit-text-fill-color:unset;background-clip:unset}.cta-text{font-size:1.125rem;color:#374151;margin-bottom:40px;line-height:1.6;font-weight:500;max-width:500px;margin-left:auto;margin-right:auto}.cta-buttons{display:flex;gap:20px;justify-content:center;align-items:center;flex-wrap:wrap;max-width:none;margin:0 auto}.btn-sign-in{background:#2d1810;color:#fff;border:2px solid #2D1810;padding:16px 40px;border-radius:50px;font-size:1rem;font-weight:600;text-decoration:none;display:inline-block;transition:all .3s ease;white-space:nowrap}.btn-sign-in:hover{background:#fff;color:#2d1810;transform:translateY(-2px);box-shadow:0 8px 24px #2d181026}.btn-create-account{background:#e76f51;color:#fff;border:2px solid #E76F51;padding:16px 40px;border-radius:50px;font-size:1rem;font-weight:600;text-decoration:none;display:inline-block;transition:all .3s ease;white-space:nowrap}.btn-create-account:hover{background:#d64f2f;border-color:#d64f2f;transform:translateY(-3px);box-shadow:0 12px 40px #e76f5166}@media (max-width: 480px){.cta-section{padding:60px 0}.cta-content{padding:0 16px}.cta-title{font-size:1.75rem;margin-bottom:16px}.cta-text{font-size:1rem;margin-bottom:32px}.cta-buttons{flex-direction:column;width:100%;gap:16px}.btn-sign-in,.btn-create-account{width:100%;text-align:center;padding:14px 32px}}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:1rem}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid var(--brand-copper);border-radius:50%;animation:spin 1s linear infinite}@media (min-width: 1024px){.chocolate-cards{grid-template-columns:repeat(3,1fr)}.steps-visual{flex-direction:row;gap:2rem}.step-card{flex:1}.reviews-grid{grid-template-columns:repeat(3,1fr)}.cta-buttons{flex-direction:row;gap:1.5rem}.hero-content{max-width:650px}.search-container{max-width:550px}.search-input{padding:1.125rem 150px 1.125rem 1.75rem;height:60px;font-size:1.05rem}.search-button{height:52px;padding:0 1.75rem;font-size:1rem}.btn{height:52px;padding:1rem 2rem;font-size:1.05rem}}@media (min-width: 768px) and (max-width: 1023px){.chocolate-cards{grid-template-columns:repeat(2,1fr)}.steps-visual{flex-direction:row;gap:1.5rem}.reviews-grid{grid-template-columns:repeat(2,1fr)}.cta-buttons{flex-direction:row;gap:1rem}}@media (max-width: 767px){.hero-section{min-height:70vh}.hero-content{max-width:100%;padding:1.5rem 0}.hero-title,.hero-section .hero-title,.hero-content .hero-title{font-size:clamp(2rem,8vw,3rem)!important;margin-bottom:1rem!important}.hero-subtitle,.hero-section .hero-subtitle,.hero-content .hero-subtitle{font-size:clamp(1rem,4vw,1.2rem)!important;margin-bottom:2rem!important}.search-container{max-width:100%}.search-input{padding:.875rem 110px .875rem 1.25rem;height:50px;font-size:.95rem}.search-button{height:42px;padding:0 1.25rem;font-size:.9rem}.hero-actions{flex-direction:column;align-items:stretch;gap:.75rem;width:100%}.btn{height:48px;padding:.75rem 1.5rem;width:100%}.featured-section,.how-it-works,.reviews-section,.cta-section{padding:3rem 0}.chocolate-cards{grid-template-columns:1fr;gap:1.5rem}.steps-visual{gap:1.5rem}.reviews-grid{grid-template-columns:1fr;gap:1.5rem}.cta-buttons{gap:.75rem}}@media (max-width: 480px){.hero-section{min-height:60vh}.search-input{padding:.75rem 100px .75rem 1rem;height:46px}.search-button{height:38px;padding:0 1rem;font-size:.85rem}.step-card,.review-card{padding:1.5rem}}.search-input:focus-visible,.btn:focus-visible,.carousel-btn:focus-visible,.carousel-dot:focus-visible{outline:3px solid var(--brand-copper);outline-offset:2px}@media (prefers-contrast: high){.btn,.carousel-btn{border-width:3px}.search-input{border:2px solid #000}}@supports (padding: max(0px)){.hero-content{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}}.home-page .cta-section,.cta-section.cta-section{background:#fff!important;padding:80px 20px!important;position:relative!important;overflow:visible!important;border-top:1px solid #E5E7EB!important;z-index:1!important}.home-page .cta-section:before,.cta-section.cta-section:before{display:none!important}.home-page .cta-section .container{max-width:1200px!important;margin:0 auto!important;width:100%!important;position:relative!important;z-index:2!important}.home-page .cta-content,.cta-section .cta-content{max-width:700px!important;margin:0 auto!important;text-align:center!important;padding:0!important;background:transparent!important;border:none!important;position:relative!important;z-index:3!important;display:flex!important;flex-direction:column!important;align-items:center!important;gap:0!important}.home-page .cta-title,.cta-section .cta-title{font-family:Playfair Display,serif!important;font-size:3rem!important;font-weight:700!important;margin:0 0 24px!important;padding:0!important;color:#2d1810!important;line-height:1.2!important;background:none!important;-webkit-background-clip:unset!important;-webkit-text-fill-color:unset!important;background-clip:unset!important;text-shadow:none!important;position:relative!important;z-index:4!important;display:block!important;width:100%!important}.home-page .cta-text,.cta-section .cta-text{font-size:1.25rem!important;color:#374151!important;margin:0 0 48px!important;padding:0!important;line-height:1.6!important;font-weight:500!important;max-width:500px!important;position:relative!important;z-index:4!important;display:block!important}.home-page .cta-buttons,.cta-section .cta-buttons{display:flex!important;gap:24px!important;justify-content:center!important;align-items:center!important;flex-wrap:wrap!important;max-width:none!important;width:auto!important;margin:0!important;padding:0!important;position:relative!important;z-index:5!important;flex-direction:row!important}.home-page .btn-sign-in,.cta-section .btn-sign-in{background:#2d1810!important;color:#fff!important;border:2px solid #2D1810!important;padding:16px 48px!important;border-radius:50px!important;font-size:1.1rem!important;font-weight:600!important;text-decoration:none!important;display:inline-block!important;transition:all .3s ease!important;white-space:nowrap!important;position:relative!important;z-index:6!important;margin:0!important;min-width:auto!important;width:auto!important;text-align:center!important;line-height:normal!important}.home-page .btn-sign-in:hover,.cta-section .btn-sign-in:hover{background:#fff!important;color:#2d1810!important;transform:translateY(-2px)!important;box-shadow:0 8px 24px #2d181026!important}.home-page .btn-create-account,.cta-section .btn-create-account{background:#e76f51!important;color:#fff!important;border:2px solid #E76F51!important;padding:16px 48px!important;border-radius:50px!important;font-size:1.1rem!important;font-weight:600!important;text-decoration:none!important;display:inline-block!important;transition:all .3s ease!important;white-space:nowrap!important;position:relative!important;z-index:6!important;margin:0!important;min-width:auto!important;width:auto!important;text-align:center!important;line-height:normal!important}.home-page .btn-create-account:hover,.cta-section .btn-create-account:hover{background:#d64f2f!important;border-color:#d64f2f!important;transform:translateY(-3px)!important;box-shadow:0 12px 40px #e76f5166!important}@media (min-width: 1024px){.home-page .cta-section,.cta-section.cta-section{padding:100px 40px!important}.home-page .cta-title,.cta-section .cta-title{font-size:3.5rem!important;margin-bottom:32px!important}.home-page .cta-text,.cta-section .cta-text{font-size:1.375rem!important;margin-bottom:56px!important}.home-page .cta-buttons,.cta-section .cta-buttons{gap:32px!important}}@media (max-width: 768px){.home-page .cta-title,.cta-section .cta-title{font-size:2.5rem!important}.home-page .cta-text,.cta-section .cta-text{font-size:1.125rem!important}}@media (max-width: 480px){.home-page .cta-section,.cta-section.cta-section{padding:60px 20px!important}.home-page .cta-title,.cta-section .cta-title{font-size:2rem!important;margin-bottom:20px!important}.home-page .cta-text,.cta-section .cta-text{font-size:1rem!important;margin-bottom:32px!important}.home-page .cta-buttons,.cta-section .cta-buttons{flex-direction:column!important;width:100%!important;gap:16px!important}.home-page .btn-sign-in,.home-page .btn-create-account,.cta-section .btn-sign-in,.cta-section .btn-create-account{width:100%!important;max-width:300px!important}}.section-title:after,.section-title:before,h2.section-title:after,h2.section-title:before,.home-page .section-title:after,.home-page .section-title:before{display:none!important;content:none!important}.cta-title:after,.cta-title:before,.home-page .cta-title:after,.home-page .cta-title:before{display:none!important;content:none!important}.section-header{border-bottom:none!important}.section-header:after,.section-header:before{display:none!important;content:none!important}.section-title{position:relative;padding-bottom:0;margin-bottom:1rem}.cta-title{position:relative;padding-bottom:0}.how-it-works-content h2:after,.reviews-section h2:after{display:none!important}.display-2:after,.display-2:before,h2:after,h2:before{display:none!important;content:none!important}.rating-stars{display:flex;align-items:center}.star{color:#d4d4d4;margin-right:2px}.star.filled{color:var(--accent)}.star.half-filled{position:relative;color:#d4d4d4}.star.half-filled:before{content:"★";position:absolute;color:var(--accent);width:50%;overflow:hidden}.star-large{font-size:1.5rem}.star.interactive{cursor:pointer}.star.interactive:hover{color:var(--accent)}.review-item{padding:1.5rem;border-bottom:1px solid #eee;margin-bottom:1rem}.review-item:last-child{border-bottom:none;margin-bottom:0}.review-header{display:flex;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.username{font-weight:600;color:var(--primary-dark)}.review-rating-stars{display:flex}.review-date{font-size:.9rem;color:#777}.review-text{line-height:1.8;color:var(--text-dark)}@media (max-width: 600px){.review-header{flex-direction:column;align-items:flex-start;gap:.5rem}}:root{--copper: #A73A04;--sage: #6C6C4E;--cream: #DFD3C0;--dusty-blue: #788390;--caramel: #B0916C;--primary: var(--copper);--primary-dark: #8B3104;--primary-light: var(--caramel);--accent: var(--caramel);--brand-copper: var(--copper);--background: #f8f9fa;--text-primary: #2D1810;--text-secondary: #5C4A3F;--text-dark: #1F2937}.chocolate-detail-page{min-height:100vh;background-color:var(--background)}.detail-header{background-color:#fff;padding:2rem 0;margin-bottom:2rem;box-shadow:0 2px 8px #0000001a}.detail-header-content{display:grid;grid-template-columns:300px 1fr;gap:2rem}.detail-image img{width:100%;height:auto;border-radius:8px;box-shadow:0 4px 8px #0000001a}.maker-link-prominent{text-decoration:none;color:inherit;display:inline-block;margin-bottom:.5rem;transition:all .3s ease}.maker-link-prominent:hover{transform:translate(3px)}.maker-name-prominent{font-size:1.4rem;color:var(--primary);margin:0;font-weight:700;text-transform:uppercase;letter-spacing:1px;transition:all .3s ease}.maker-link-prominent:hover .maker-name-prominent{color:var(--accent)}.maker-link-prominent:after{content:"";position:absolute;width:100%;height:2px;bottom:-3px;left:0;background-color:var(--accent);transform:scaleX(0);transition:transform .3s ease;transform-origin:bottom right}.maker-link-prominent:hover:after{transform:scaleX(1);transform-origin:bottom left}.chocolate-name{margin:0 0 1.5rem;color:var(--primary-dark);font-size:2.5rem;font-weight:600;line-height:1.2}.detail-info h1{margin:0 0 .5rem;color:var(--primary-dark);font-size:2.5rem}.maker{font-size:1.2rem;color:var(--primary);margin-bottom:1.5rem}.average-rating{display:flex;align-items:center;margin-bottom:1rem}.rating-number{font-size:1.5rem;font-weight:700;margin-right:.5rem;color:var(--primary-dark)}.rating-count{color:#666;margin-left:.5rem}.user-rating{display:flex;align-items:center}.user-rating p{margin:0 1rem 0 0;color:var(--primary)}.chocolate-meta{display:flex;flex-wrap:wrap;gap:2rem;margin-top:1.5rem;padding:1.5rem 0;border-top:1px solid #eee;border-bottom:1px solid #eee}.meta-item{display:flex;flex-direction:column}.meta-label{font-size:.9rem;color:#666}.meta-value{font-size:1.2rem;font-weight:700;color:var(--primary-dark)}.chocolate-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}.tag{display:inline-block;background-color:var(--primary-light);color:#fff;padding:.3rem .8rem;border-radius:20px;font-size:.8rem;font-weight:500}section{background-color:#fff;padding:2rem;margin-bottom:2rem;border-radius:8px;box-shadow:0 2px 8px #0000000d}h2{font-size:1.5rem;color:var(--primary-dark);margin-bottom:1.5rem;position:relative;padding-bottom:.75rem}h2:after{content:"";position:absolute;bottom:0;left:0;width:50px;height:2px;background-color:var(--accent)}.description-section p{line-height:1.8;color:var(--text-dark)}.flavor-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem}.flavor-item{margin-bottom:1rem}.flavor-name{display:block;margin-bottom:.5rem;font-weight:500}.flavor-bar{height:10px;background-color:#eee;border-radius:5px;overflow:hidden}.flavor-level{height:100%;background-color:var(--accent);border-radius:5px}.ingredients-list{padding-left:1.5rem;line-height:1.8}.ingredients-list li{margin-bottom:.5rem}.nutrition-info{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1.5rem}.nutrition-item{display:flex;flex-direction:column;padding:1rem;background-color:#f8f8f8;border-radius:8px}.nutrition-label{font-size:.9rem;color:#666;margin-bottom:.3rem}.nutrition-value{font-size:1.2rem;font-weight:500}.reviews-list{margin-bottom:2.5rem}.no-reviews{text-align:center;padding:2rem;background-color:#f8f8f8;border-radius:8px;color:#666}.add-review{background-color:#f8f8f8;padding:1.5rem;border-radius:8px}.add-review h3{margin-top:0;margin-bottom:1rem;color:var(--primary-dark)}.add-review form{display:flex;flex-direction:column}.add-review textarea{width:100%;height:120px;padding:1rem;margin-bottom:1rem;border:1px solid #ddd;border-radius:4px;resize:vertical;font-family:inherit}.add-review textarea:focus{outline:none;border-color:var(--accent)}.submit-review{align-self:flex-start;background-color:var(--primary);color:#fff;border:none;padding:.8rem 1.5rem;border-radius:4px;font-weight:500;cursor:pointer;transition:background-color .2s}.submit-review:hover{background-color:var(--primary-dark)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh}.loading-animation{display:flex;margin-bottom:1rem}.loading-animation span{width:12px;height:12px;margin:0 5px;background-color:var(--primary);border-radius:50%;animation:pulse 1.5s infinite ease-in-out}.loading-animation span:nth-child(2){animation-delay:.2s}.loading-animation span:nth-child(3){animation-delay:.4s}@keyframes pulse{0%,to{transform:scale(.8);opacity:.5}50%{transform:scale(1.2);opacity:1}}@media (max-width: 768px){.detail-header-content{grid-template-columns:1fr}.detail-image{max-width:250px;margin:0 auto}.chocolate-meta{flex-wrap:wrap;gap:1rem}.flavor-list,.nutrition-info{grid-template-columns:1fr}.chocolate-name{font-size:2rem}.maker-name-prominent{font-size:1.2rem}}.chocolate-label-image{width:100%;border-radius:8px;box-shadow:0 4px 15px #0000001a;transition:transform .3s ease}.chocolate-label-image:hover{transform:scale(1.05)}.image-caption{text-align:center;margin-top:.5rem;font-size:.9rem;color:var(--primary);font-style:italic}.review-success{background-color:#e6f7e6;color:#28a745;padding:1rem;border-radius:8px;margin-top:1rem;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.submit-review:disabled{background-color:#ccc;cursor:not-allowed}.maker-link{color:var(--primary);text-decoration:none;transition:color .2s ease;display:inline-block;position:relative}.maker-link:hover{color:var(--accent)}.maker-link:after{content:"";position:absolute;width:100%;height:1px;bottom:-2px;left:0;background-color:var(--accent);transform:scaleX(0);transition:transform .2s ease;transform-origin:bottom right}.maker-link:hover:after{transform:scaleX(1);transform-origin:bottom left}.rating-actions{display:flex;justify-content:space-between;align-items:center;gap:2rem}.favorite-section{display:flex;align-items:center}.rating-section{margin-bottom:1.5rem}.average-rating{display:flex;align-items:center;margin-bottom:1.5rem}.rating-actions{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:1.5rem;background-color:#f8f9fa;border-radius:12px;border:1px solid #e9ecef}.favorite-section .favorite-button{background-color:#fff;border:2px solid var(--cream);box-shadow:0 2px 8px #0000001a}.favorite-section .favorite-button:hover{border-color:var(--copper);background-color:#a73a040d;transform:scale(1.1)}.favorite-section .favorite-button.favorited{border-color:var(--copper);background-color:#a73a041a}.rating-actions{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:1.5rem;background-color:#f8f9fa;border-radius:12px;border:1px solid #e9ecef;margin-top:1rem}.user-rating{display:flex;align-items:center;gap:1rem}.user-rating p{margin:0;color:var(--primary);font-weight:500}.favorite-section{display:flex;align-items:center;gap:1rem}.favorite-label{color:var(--primary);font-weight:500;font-size:1rem}@media (max-width: 768px){.rating-actions{flex-direction:column;gap:1.5rem;align-items:stretch}.user-rating,.favorite-section{justify-content:center}}.action-buttons{display:flex;gap:1rem;margin:1.5rem 0;align-items:center}.detail-page-favorite,.detail-page-want-to-try{position:relative;border-radius:12px;padding:.75rem 1.5rem;font-weight:600;display:flex;align-items:center;gap:.5rem;border:2px solid;transition:all .3s ease;font-size:.95rem;text-transform:none;min-width:140px;justify-content:center}.detail-page-favorite{background:#a73a041a;border-color:var(--copper);color:var(--copper)}.detail-page-favorite:hover{background:var(--copper);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #a73a044d}.detail-page-favorite.favorited{background:var(--copper);color:#fff}.detail-page-favorite.favorited:hover{background:var(--primary-dark)}.detail-page-want-to-try{background:#6c6c4e1a;border-color:var(--sage);color:var(--sage)}.detail-page-want-to-try:hover{background:var(--sage);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #6c6c4e4d}.detail-page-want-to-try.in-want-to-try{background:var(--sage);color:#fff}.detail-page-want-to-try.in-want-to-try:hover{background:#5a5a40}.review-success-message{background:#10b981;color:#fff;padding:1rem;border-radius:8px;margin-bottom:1.5rem;font-weight:600;text-align:center}.add-review{background:#f8f9fa;padding:2rem;border-radius:12px;margin:2rem 0;border:2px solid #e9ecef}.add-review h3{margin:0 0 1.5rem;color:var(--primary-dark)}.rating-input{margin-bottom:1rem}.rating-input label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--primary-dark)}.add-review textarea{width:100%;padding:1rem;border:2px solid #e9ecef;border-radius:8px;font-family:inherit;font-size:1rem;line-height:1.5;resize:vertical;min-height:120px;margin-bottom:1rem}.add-review textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #b0916c1a}.submit-review{background:var(--copper);color:#fff;border:none;padding:.75rem 2rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.submit-review:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 4px 12px #a73a0466}.no-reviews{text-align:center;padding:2rem;background:#f8f9fa;border-radius:8px;color:#6b7280}.no-reviews a{color:var(--accent);text-decoration:none;font-weight:600}.no-reviews a:hover{text-decoration:underline}@media (max-width: 768px){.action-buttons{flex-direction:column;gap:.75rem}.detail-page-favorite,.detail-page-want-to-try{width:100%;min-width:auto}.detail-header-content{grid-template-columns:1fr;gap:1.5rem;text-align:center}.detail-image{max-width:300px;margin:0 auto}.add-review{padding:1.5rem}}.detail-page-favorite .heart-icon,.detail-page-want-to-try svg{width:20px;height:20px;margin-right:.5rem}.button-help{background:linear-gradient(135deg,#f8f9fa,#f1f5f9);border:1px solid #e2e8f0;border-radius:12px;padding:1.25rem;margin-top:1rem;display:flex;gap:2rem;font-size:.9rem}.help-item{display:flex;align-items:flex-start;gap:.75rem;flex:1;padding:.5rem;border-radius:8px;transition:all .3s ease}.help-item:hover{background:#ffffffb3}.help-icon{font-size:1.4rem;margin-top:.1rem;flex-shrink:0}.help-text{line-height:1.5}.help-text strong{color:#374151;font-weight:600;display:block;margin-bottom:.25rem}@media (max-width: 768px){.button-help{flex-direction:column;gap:1rem;padding:1rem;font-size:.85rem}.help-item{gap:.5rem;padding:.75rem}.help-icon{font-size:1.2rem}}@media (max-width: 480px){.button-help{padding:.875rem;margin-top:.75rem}.help-text{font-size:.8rem}}.chocolate-details{margin:.75rem 0 1.5rem;padding:.75rem 1rem;background:#a73a040d;border-left:3px solid var(--brand-copper);border-radius:0 4px 4px 0}.details-text{font-size:.95rem;color:var(--text-secondary);font-weight:500;font-style:italic;line-height:1.4;letter-spacing:.3px}.chocolate-specs{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin:1.5rem 0;font-size:1.1rem}.chocolate-specs .origin,.chocolate-specs .percentage,.chocolate-specs .type{position:relative;padding:.5rem 1rem;background:#f8f9fa;border-radius:20px;font-weight:500;color:#374151;border:1px solid #e5e7eb;transition:all .3s ease}.chocolate-specs .origin{background:#6c6c4e1a;color:var(--sage);border-color:#6c6c4e4d}.chocolate-specs .percentage{background:var(--copper);color:#fff;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.2);border:none}.chocolate-specs .type{background:#7883901a;color:var(--dusty-blue);border-color:#7883904d}.chocolate-specs span:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}@media (max-width: 768px){.chocolate-specs{font-size:1rem;gap:.75rem;margin:1rem 0}.chocolate-specs .origin,.chocolate-specs .percentage,.chocolate-specs .type{padding:.4rem .8rem;font-size:.9rem}}@media (max-width: 480px){.chocolate-specs{font-size:.9rem;gap:.5rem}.chocolate-specs span{padding:.3rem .6rem;font-size:.85rem}}.buying-guide-section{display:none}.seo-section-collapsed{background:#fff;border-radius:12px;padding:1.5rem;margin:2rem 0;border:1px solid rgba(223,211,192,.3);box-shadow:0 2px 8px #a73a040d}.seo-section-collapsed h3{font-size:1.1rem;color:var(--text-primary, #2D1810);margin:0 0 .75rem;font-weight:600;font-family:inherit}.seo-summary{color:var(--text-secondary, #5C4A3F);line-height:1.6;font-size:.95rem;margin:0}.seo-summary .highlight{color:var(--copper, #A73A04);font-weight:500}.seo-expandable{margin-top:1rem}.seo-expandable summary{color:var(--sage, #6C6C4E);cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem 0;list-style:none;display:flex;align-items:center;gap:.5rem;transition:color .2s ease;-webkit-user-select:none;user-select:none}.seo-expandable summary:hover{color:var(--copper, #A73A04)}.seo-expandable summary:before{content:"▶";font-size:.7rem;transition:transform .2s ease;color:var(--sage, #6C6C4E)}.seo-expandable[open] summary:before{transform:rotate(90deg)}.seo-expandable summary::-webkit-details-marker{display:none}.seo-expandable-content{padding-top:.75rem;font-size:.9rem;color:var(--text-secondary, #5C4A3F);line-height:1.6;animation:fadeIn .3s ease}.seo-expandable-content p{margin:0 0 .75rem}.seo-expandable-content p:last-child{margin-bottom:0}.seo-expandable-content strong{color:var(--text-primary, #2D1810);font-weight:600}.seo-expandable-content ul{margin:.5rem 0;padding-left:1.5rem;list-style-type:disc}.seo-expandable-content li{margin:.4rem 0;line-height:1.5}.seo-expandable-content a{color:var(--copper, #A73A04);text-decoration:none;font-weight:500;transition:all .2s ease}.seo-expandable-content a:hover{color:var(--caramel, #B0916C);text-decoration:underline}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.seo-section-collapsed{padding:1rem;margin:1.5rem 0;border-radius:8px}.seo-section-collapsed h3{font-size:1rem;margin-bottom:.5rem}.seo-summary{font-size:.85rem;line-height:1.5}.seo-expandable summary{font-size:.85rem;padding:.4rem 0}.seo-expandable-content{font-size:.85rem;padding-top:.5rem}.seo-expandable-content ul{padding-left:1.25rem}.seo-expandable-content li{margin:.3rem 0}}@media (max-width: 480px){.seo-section-collapsed{padding:.875rem;margin:1rem 0}.seo-section-collapsed h3{font-size:.95rem}.seo-summary{font-size:.8rem}.seo-expandable summary{font-size:.8rem}.seo-expandable-content{font-size:.8rem}}.review-cta-banner{background:#fff;border:1px solid #E5E7EB;border-radius:16px;padding:1.5rem;margin:1.5rem 0;box-shadow:0 1px 3px #0000000d;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.review-cta-banner:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#fcd34d,#fbbf24,#f59e0b);opacity:0;transition:opacity .3s ease}.review-cta-banner:hover{box-shadow:0 4px 12px #00000014;border-color:#d1d5db}.review-cta-banner:hover:before{opacity:1}.cta-content{display:flex;flex-direction:column;gap:1.25rem}.cta-icon{display:none!important}.cta-text{text-align:center;margin-bottom:.5rem}.cta-text h3{margin:0 0 .375rem;font-size:1.25rem;font-weight:600;color:#111827;letter-spacing:-.025em}.cta-text p{margin:0;font-size:.875rem;color:#6b7280;line-height:1.4}.quick-rating-only{display:flex;flex-direction:column;align-items:center;gap:1rem}.rating-stars{display:flex;gap:.375rem;padding:.5rem;background:#f9fafb;border-radius:12px;position:relative}.star-button{background:none;border:none;font-size:2rem;color:#e5e7eb;cursor:pointer;padding:.125rem .25rem;transition:all .2s cubic-bezier(.4,0,.2,1);line-height:1;position:relative}.star-button:hover{transform:scale(1.15)}.star-button.filled{color:#fcd34d;text-shadow:0 1px 3px rgba(251,191,36,.3);animation:starPop .3s ease-out}@keyframes starPop{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}.star-button.empty:hover{color:#fde68a}.star-button:focus{outline:none}.star-button:focus-visible{outline:2px solid #FCD34D;outline-offset:2px;border-radius:4px}.rating-preview{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#fef3c7;border-radius:8px;animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.rating-text{font-weight:600;color:#92400e;font-size:.875rem}.rating-value{font-size:.75rem;color:#b45309}.review-form{background:#f9fafb;border-radius:12px;padding:1.25rem;margin-top:1rem;border:1px solid #E5E7EB;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.form-rating,.form-text{margin-bottom:1.25rem}.form-rating label,.form-text label{display:block;margin-bottom:.5rem;font-weight:500;color:#374151;font-size:.875rem}.rating-feedback{margin-top:.75rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.form-text textarea{width:100%;padding:.75rem;border:1px solid #E5E7EB;border-radius:8px;font-family:inherit;font-size:.875rem;line-height:1.5;resize:vertical;transition:all .2s ease;background:#fff}.form-text textarea:focus{outline:none;border-color:#fcd34d;box-shadow:0 0 0 3px #fcd34d1a}.char-count{text-align:right;font-size:.75rem;color:#9ca3af;margin-top:.25rem}.form-actions{display:flex;gap:.75rem;justify-content:flex-end}.btn-cancel,.btn-submit{padding:.625rem 1.25rem;border-radius:8px;font-weight:500;font-size:.875rem;border:none;cursor:pointer;transition:all .2s ease}.btn-cancel{background:#fff;color:#6b7280;border:1px solid #E5E7EB}.btn-cancel:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db}.btn-submit{background:#8b4513;color:#fff;position:relative;overflow:hidden}.btn-submit:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff3;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn-submit:hover:not(:disabled):before{width:300px;height:300px}.btn-submit:hover:not(:disabled){background:#7c3e11;transform:translateY(-1px);box-shadow:0 4px 12px #8b451340}.btn-submit:disabled,.btn-cancel:disabled{opacity:.5;cursor:not-allowed}.cta-actions{display:flex;justify-content:center;margin-top:1rem}.cta-button{padding:.75rem 2rem;border-radius:8px;font-weight:500;text-decoration:none;text-align:center;transition:all .2s ease;font-size:.875rem;display:inline-block}.cta-button.primary{background:#8b4513;color:#fff;box-shadow:0 1px 3px #8b45131a}.cta-button.primary:hover{background:#7c3e11;transform:translateY(-1px);box-shadow:0 4px 12px #8b451340}.review-cta-completed{background:linear-gradient(135deg,#ecfdf5,#d1fae5);border:1px solid #A7F3D0;border-radius:12px;padding:1rem 1.25rem;margin:1.5rem 0;display:flex;align-items:center;gap:.75rem;position:relative;overflow:hidden}.review-cta-completed:before{content:"✓";position:absolute;right:-20px;top:-20px;font-size:80px;color:#10b9811a;transform:rotate(15deg)}.review-cta-completed .cta-icon{display:none!important}.review-cta-completed span{color:#065f46;font-weight:500;font-size:.875rem}.edit-review-btn{margin-left:auto;padding:.375rem 1rem;background:#fff;border:1px solid #10B981;border-radius:6px;color:#065f46;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s ease;z-index:1}.edit-review-btn:hover{background:#10b981;color:#fff;transform:translateY(-1px);box-shadow:0 2px 4px #10b98133}@media (max-width: 768px){.review-cta-banner{padding:1.25rem;margin:1rem 0}.cta-text h3{font-size:1.125rem}.star-button{font-size:1.75rem}.rating-stars{gap:.25rem;padding:.375rem}.form-actions{flex-direction:column-reverse;gap:.5rem}.btn-cancel,.btn-submit{width:100%;padding:.75rem}.review-form{padding:1rem}}@media (prefers-reduced-motion: reduce){.star-button,.btn-submit,.edit-review-btn,.review-cta-banner,.review-form{animation:none;transition:none}.star-button:hover,.btn-submit:hover,.edit-review-btn:hover{transform:none}}@media (prefers-contrast: high){.review-cta-banner{border-width:2px}.star-button.filled{color:#000;text-shadow:none}.btn-submit{border:2px solid #000000}}.search-results-page{padding:2rem 0}.search-header{margin-bottom:2rem}.search-header h1{margin-bottom:.5rem}.search-query{color:#666;font-style:italic}.results-count{margin-bottom:1rem;color:#666}.results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem}.no-results{text-align:center;padding:3rem 0;color:#666}.no-results a{color:#900;text-decoration:none}.no-results a:hover{text-decoration:underline}.loading,.error{text-align:center;padding:3rem 0}.error{color:#900}.search-filters{display:flex;justify-content:space-between;margin-bottom:1.5rem;background-color:#f8f8f8;padding:1rem;border-radius:8px;flex-wrap:wrap;gap:1rem}.filter-group{display:flex;align-items:center;gap:.8rem}.filter-group label{font-weight:500;color:var(--primary-dark)}.filter-group select{padding:.5rem;border:1px solid #ddd;border-radius:4px;background-color:#fff;min-width:150px;color:var(--text-dark)}.filter-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #6a422633}@media (max-width: 768px){.search-filters{flex-direction:column;align-items:stretch}.filter-group{justify-content:space-between}}.profile-page{padding:2rem 0;background-color:var(--background, #f8f9fa);min-height:calc(100vh - 60px)}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid var(--primary, #F4A261);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.profile-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;background-color:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 12px #0000000d}.profile-header-main{display:flex;align-items:center}.profile-avatar{width:100px;height:100px;border-radius:50%;overflow:hidden;margin-right:1.5rem;background-color:var(--primary-light, #f4d03f);flex-shrink:0;border:3px solid rgba(255,255,255,.9);box-shadow:0 4px 16px #0000001a}.profile-avatar img{width:100%;height:100%;object-fit:cover;object-position:center;border-radius:50%}.avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3rem;color:#fff;font-weight:700;background:linear-gradient(135deg,#f4a261,#f4d03f);border-radius:50%}.profile-info h1{margin:0 0 .3rem;color:var(--primary-dark, #2D1810);font-size:2rem;font-weight:700}.member-since{color:var(--primary, #F4A261);margin-bottom:.8rem;font-weight:500}.profile-badges{display:flex;flex-wrap:wrap;gap:.8rem}.badge{display:flex;align-items:center;background-color:#f8f8f8;padding:.4rem .8rem;border-radius:20px;font-size:.9rem;font-weight:500}.badge-icon{width:18px;height:18px;margin-right:.4rem}.badge-icon.newcomer{fill:#6b7280}.badge-icon.reviewer{fill:#eab308}.badge-icon.enthusiast{fill:#2563eb}.badge-icon.connoisseur{fill:#9333ea}.profile-actions{margin-left:1rem}.edit-profile-button{background-color:var(--primary, #F4A261);color:#fff;border:none;padding:.6rem 1.2rem;border-radius:6px;font-weight:600;cursor:pointer;transition:background-color .2s}.edit-profile-button:hover{background-color:var(--primary-dark, #e89548)}.profile-nav{display:flex;margin-bottom:1.5rem;background-color:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000000d}.profile-nav-link{padding:1rem 1.5rem;background:none;border:none;border-bottom:3px solid transparent;font-weight:600;color:var(--text-dark, #374151);cursor:pointer;transition:all .2s;flex:1;text-align:center}.profile-nav-link:hover{background-color:#f8f8f8;color:var(--primary, #F4A261)}.profile-nav-link.active{border-bottom-color:var(--primary, #F4A261);color:var(--primary, #F4A261);background-color:#f4a2610d}.profile-content{background-color:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 12px #0000000d}.overview-tab{display:flex;flex-direction:column;gap:2.5rem}.stats-section{margin-bottom:2.5rem}.stats-section h2{margin-bottom:1.5rem;color:var(--primary-dark, #2D1810);font-size:1.5rem;font-weight:600}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem}.stat-card{background-color:#f8f8f8;padding:1.5rem;border-radius:8px;text-align:center;transition:transform .2s}.stat-card:hover{transform:translateY(-5px)}.stat-value{font-size:2.5rem;font-weight:700;color:var(--primary, #F4A261);margin-bottom:.5rem}.stat-label{font-size:.9rem;color:var(--text-dark, #374151);font-weight:500}.profile-sections{display:grid;grid-template-columns:1fr 2fr;gap:1.5rem;margin-bottom:2.5rem}.profile-section{background-color:#f8f8f8;border-radius:8px;padding:1.5rem}.section-header{margin-bottom:1.2rem;padding-bottom:.8rem;border-bottom:2px solid #eee}.section-header h2,.section-header h3{margin:0;color:var(--primary-dark, #2D1810);font-weight:600}.taste-profile{display:flex;flex-direction:column;gap:1rem}.taste-item{display:flex;flex-direction:column}.taste-label{font-size:.9rem;color:#666;margin-bottom:.3rem}.taste-value{font-weight:600;color:var(--text-dark, #374151)}.recent-reviews{display:flex;flex-direction:column;gap:1.2rem}.recent-review-item{display:flex;flex-direction:column;padding-bottom:1.2rem;border-bottom:1px solid #eee}.recent-review-item:last-child{border-bottom:none}.review-header{display:flex;flex-direction:column;gap:.5rem}.review-header h4{margin:0;color:var(--primary-dark, #2D1810);font-size:1.1rem}.star{color:#ddd;margin-right:2px;font-size:1rem}.star.filled{color:gold}.review-date{font-size:.8rem;color:#999}.review-text{margin:.5rem 0 0;line-height:1.5;color:var(--text-dark, #374151)}.see-all-link{color:var(--primary, #F4A261);text-decoration:none;font-weight:600;margin-top:1rem;display:inline-block}.see-all-link:hover{text-decoration:underline}.recommendations-section{background-color:#f8f8f8;border-radius:8px;padding:1.5rem}.recommendation-message{text-align:center;padding:2rem 0;color:#666}.reviews-tab,.reviews-list{display:flex;flex-direction:column;gap:1.5rem}.review-card{border:1px solid #eee;border-radius:8px;overflow:hidden;background:#fff;box-shadow:0 2px 8px #0000000d}.review-card-header{padding:1.2rem;background-color:#f8f8f8;display:flex;justify-content:space-between;align-items:center}.review-card-header h3{margin:0 0 .3rem;color:var(--primary-dark, #2D1810);font-size:1.2rem}.review-card-header p{margin:0;color:#666;font-size:.9rem}.review-meta{text-align:right}.review-rating-large{margin-bottom:.5rem}.review-rating-large .star{font-size:1.2rem}.review-card-body{padding:1.2rem}.review-card-body p{margin:0;line-height:1.6;color:var(--text-dark, #374151)}.review-card-actions{padding:1.2rem;border-top:1px solid #eee;display:flex;justify-content:flex-end;gap:1rem}.edit-review,.delete-review{background:none;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-weight:600;transition:background-color .2s}.edit-review{color:var(--primary, #F4A261)}.edit-review:hover{background-color:#f0f0f0}.delete-review{color:#ef4444}.delete-review:hover{background-color:#fee2e2}.favorites-tab{display:flex;flex-direction:column;gap:1.5rem}.favorites-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem}.favorite-card{background-color:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a;position:relative;transition:transform .2s}.favorite-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000026}.favorite-link{text-decoration:none;color:inherit;display:block}.favorite-image{height:160px;overflow:hidden}.favorite-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.favorite-card:hover .favorite-image img{transform:scale(1.05)}.favorite-info{padding:1rem}.favorite-info h3{margin:0 0 .3rem;font-size:1.1rem;color:var(--primary-dark, #2D1810)}.favorite-info p{margin:0 0 .5rem;color:#666;font-size:.9rem}.favorite-details{display:flex;justify-content:space-between;margin-bottom:.5rem;font-size:.8rem;color:#666}.favorite-rating{display:flex;align-items:center}.favorite-rating .star{font-size:.8rem}.rating-count{font-size:.8rem;color:#999;margin-left:.3rem}.remove-favorite{position:absolute;top:.5rem;right:.5rem;background-color:#fff;border:none;width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .2s;box-shadow:0 2px 5px #0003}.remove-favorite:before{content:"×";font-size:20px;color:#ef4444;font-weight:700}.favorite-card:hover .remove-favorite{opacity:1}.preferences-tab{display:flex;flex-direction:column;gap:1.5rem}.preferences-form{display:flex;flex-direction:column;gap:2rem}.preference-section{background:#f8f9fa;padding:1.5rem;border-radius:8px}.preference-section h3{margin:0 0 1rem;color:var(--primary-dark, #2D1810);font-size:1.2rem;font-weight:600}.checkbox-group{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.8rem}.checkbox-label{display:flex;align-items:center;cursor:pointer;padding:.5rem;border-radius:4px;transition:background-color .2s}.checkbox-label:hover{background-color:#f4a2611a}.checkbox-label input{margin-right:.5rem;cursor:pointer}.save-preferences{align-self:flex-start;background-color:var(--primary, #F4A261);color:#fff;border:none;padding:.8rem 1.5rem;border-radius:6px;font-weight:600;cursor:pointer;margin-top:1rem;transition:background-color .2s}.save-preferences:hover{background-color:var(--primary-dark, #e89548)}.empty-state{text-align:center;padding:3rem 0}.empty-state p{margin-bottom:1.5rem;color:#666;font-size:1rem}.action-button{display:inline-block;background-color:var(--primary, #F4A261);color:#fff;padding:.8rem 1.5rem;border-radius:6px;text-decoration:none;font-weight:600;transition:background-color .2s}.action-button:hover{background-color:var(--primary-dark, #e89548)}.profile-not-logged-in{text-align:center;background-color:#fff;border-radius:12px;padding:3rem 2rem;box-shadow:0 4px 12px #0000000d;margin:2rem auto;max-width:500px}.profile-not-logged-in h2{color:var(--primary-dark, #2D1810);margin-bottom:1rem;font-size:1.5rem}.profile-not-logged-in p{margin-bottom:1.5rem;color:#666}.auth-buttons{display:flex;justify-content:center;gap:1rem}.auth-button{padding:.8rem 2rem;border-radius:6px;text-decoration:none;font-weight:600;transition:all .2s;border:2px solid var(--primary, #F4A261)}.auth-button:first-child{background-color:#fff;color:var(--primary, #F4A261)}.auth-button:first-child:hover{background-color:#f8f8f8}.auth-button.signup{background-color:var(--primary, #F4A261);color:#fff}.auth-button.signup:hover{background-color:var(--primary-dark, #e89548);border-color:var(--primary-dark, #e89548)}@media (max-width: 968px){.profile-sections{grid-template-columns:1fr;gap:1rem}.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.profile-page{padding:1rem 0}.profile-header{flex-direction:column;text-align:center;padding:1.5rem}.profile-header-main{flex-direction:column;text-align:center;width:100%}.profile-avatar{margin-right:0;margin-bottom:1rem;width:80px;height:80px}.avatar-placeholder{font-size:2.5rem}.profile-actions{margin:1rem 0 0;width:100%}.profile-nav{flex-direction:column}.profile-nav-link{text-align:center;border-bottom:none;border-right:3px solid transparent}.profile-nav-link.active{border-bottom:none;border-right-color:var(--primary, #F4A261)}.profile-content{padding:1.5rem}.stats-grid{grid-template-columns:1fr;gap:1rem}.review-card-header{flex-direction:column;align-items:flex-start;gap:1rem}.review-meta{text-align:left;width:100%}.checkbox-group{grid-template-columns:1fr}.auth-buttons{flex-direction:column;align-items:center}.favorites-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}@media (max-width: 480px){.profile-avatar{width:70px;height:70px}.avatar-placeholder{font-size:2rem}.profile-header,.profile-content,.stat-card{padding:1rem}.stat-value{font-size:2rem}.favorites-grid{grid-template-columns:1fr}.profile-section{padding:1rem}}.cancel-btn,.save-btn{padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;border:none;font-size:.9rem}.cancel-btn{background:#f8f9fa;color:#6c757d;border:2px solid #e9ecef}.save-btn{background:linear-gradient(135deg,#f4a261,#f4d03f);color:#2d1810}.save-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #f4a26166}.save-btn:disabled,.cancel-btn:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.edit-profile-section{padding:1.5rem;margin:1rem 0}.edit-profile-header{flex-direction:column;gap:1rem;align-items:stretch}.edit-actions{justify-content:stretch}.cancel-btn,.save-btn{flex:1}.profile-picture-upload{flex-direction:column;align-items:center;text-align:center}.checkbox-grid{grid-template-columns:1fr}.privacy-options{gap:.75rem}.radio-item{padding:1rem}}.favorites-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-top:1.5rem}.favorite-chocolate-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a;transition:all .3s ease;border:2px solid transparent}.favorite-chocolate-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000026;border-color:#f4a261}.favorite-image{width:100%;height:180px;position:relative;overflow:hidden;background:linear-gradient(135deg,#f8f9fa,#e9ecef)}.favorite-image img{width:100%;height:100%;object-fit:cover}.placeholder-image{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3rem;color:#6b7280;background:linear-gradient(135deg,#f4a261 20%,#f4d03f 80%)}.favorite-info{padding:1.25rem}.favorite-name{font-size:1.1rem;font-weight:700;color:#2d1810;margin:0 0 .5rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.favorite-maker{font-size:.9rem;color:#6b7280;margin:0 0 .75rem;font-weight:500}.favorite-type{display:inline-block;background:#f4a261;color:#2d1810;padding:.25rem .5rem;border-radius:6px;font-size:.8rem;font-weight:600;margin-bottom:.75rem}.favorite-rating{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.favorite-rating .rating-value{font-weight:700;color:#2d1810;font-size:1.1rem}.favorite-rating .stars{display:flex;gap:2px}.favorite-rating .star{color:#e5e7eb;font-size:.9rem}.favorite-rating .star.filled{color:#f4a261}.favorite-actions{display:flex;gap:.75rem;padding:0 1.25rem 1.25rem}.view-chocolate-btn,.remove-favorite-btn{flex:1;padding:.75rem 1rem;border-radius:8px;font-weight:600;font-size:.9rem;text-decoration:none;text-align:center;cursor:pointer;transition:all .3s ease;border:none}.view-chocolate-btn{background:#f4a261;color:#2d1810}.view-chocolate-btn:hover{background:#e69347;transform:translateY(-1px)}.remove-favorite-btn{background:#f8f9fa;color:#6b7280;border:2px solid #e5e7eb}.remove-favorite-btn:hover{background:#fee2e2;color:#dc2626;border-color:#fca5a5}.review-item{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 8px #0000001a;border:2px solid transparent;transition:all .3s ease}.review-item:hover{border-color:#f4a261;box-shadow:0 4px 16px #f4a26133}.review-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;gap:1rem}.reviewed-chocolate{font-size:1.2rem;font-weight:700;color:#2d1810;margin:0;line-height:1.3;flex:1}.review-rating{display:flex;gap:2px;flex-shrink:0}.review-rating .star{color:#e5e7eb;font-size:1rem}.review-rating .star.filled{color:#f4a261}.review-maker{font-size:.9rem;color:#6b7280;margin:0 0 .75rem;font-weight:500}.review-title{font-size:1rem;font-weight:600;color:#374151;margin:0 0 .75rem;font-style:italic}.review-text{line-height:1.6;color:#4b5563;margin-bottom:1rem}.review-footer{display:flex;justify-content:space-between;align-items:center;padding-top:1rem;border-top:1px solid #f3f4f6;gap:1rem}.review-date{font-size:.9rem;color:#6b7280;margin:0;font-weight:500}.view-chocolate-link{color:#f4a261;text-decoration:none;font-weight:600;font-size:.9rem;padding:.5rem 1rem;border-radius:6px;background:#f4a2611a;transition:all .3s ease}.view-chocolate-link:hover{background:#f4a26133;transform:translateY(-1px)}.empty-state{text-align:center;padding:3rem 2rem;background:#f8f9fa;border-radius:12px;margin-top:2rem}.empty-icon{font-size:3rem;margin-bottom:1rem}.empty-state h4{color:#374151;margin:0 0 .5rem;font-size:1.25rem}.empty-state p{color:#6b7280;margin:0 0 1.5rem;font-size:1rem}.activity-item{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#fff;border-radius:8px;margin-bottom:.75rem;box-shadow:0 1px 4px #0000000d;border:1px solid #f3f4f6}.activity-content p:first-child{margin:0 0 .25rem;color:#374151;font-weight:500}.activity-date{font-size:.85rem;color:#6b7280;margin:0}.activity-rating{display:flex;gap:2px}.activity-rating .star{color:#e5e7eb;font-size:.9rem}.activity-rating .star.filled{color:#f4a261}.no-activity{text-align:center;padding:2rem;background:#f8f9fa;border-radius:8px;color:#6b7280}.no-activity p{margin:0}.no-activity a{color:#f4a261;text-decoration:none;font-weight:600}.no-activity a:hover{text-decoration:underline}@media (max-width: 768px){.favorites-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.favorite-chocolate-card{margin-bottom:0}.review-header,.review-footer{flex-direction:column;align-items:flex-start;gap:.75rem}.favorite-actions{flex-direction:column;gap:.5rem}.view-chocolate-btn,.remove-favorite-btn{flex:none}}.user-location{color:#666;font-size:.9rem;margin:.5rem 0}.user-bio{color:#555;font-style:italic;margin:.75rem 0;line-height:1.5;max-width:400px}.edit-profile-section{background:#fff;border-radius:12px;padding:2rem;margin:2rem 0;box-shadow:0 4px 20px #0000001a;border:2px solid #F4A261}.edit-profile-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #f0f0f0}.edit-profile-header h3{color:#2d1810;font-size:1.5rem;margin:0}.edit-actions{display:flex;gap:1rem}.cancel-btn{padding:.75rem 1.5rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;border:none;font-size:.9rem;background:#f8f9fa;color:#6c757d;border:2px solid #e9ecef}.cancel-btn:hover:not(:disabled){background:#e9ecef}.cancel-btn:disabled{opacity:.6;cursor:not-allowed}.form-actions-bottom{margin-top:3rem;padding-top:2rem;border-top:2px solid #f0f0f0;display:flex;justify-content:center}.save-btn-bottom{padding:1rem 3rem;border-radius:12px;font-weight:700;font-size:1.1rem;cursor:pointer;transition:all .3s ease;border:none;background:linear-gradient(135deg,#f4a261,#f4d03f);color:#2d1810;box-shadow:0 4px 16px #f4a2614d;min-width:200px}.save-btn-bottom:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #f4a26166}.save-btn-bottom:disabled{opacity:.6;cursor:not-allowed;transform:none;background:#e9ecef;color:#6c757d;box-shadow:none}.save-btn-bottom:active:not(:disabled){transform:translateY(0)}.save-btn{display:none}.edit-profile-form{display:flex;flex-direction:column;gap:2rem}.form-section{display:flex;flex-direction:column;gap:.5rem}.form-label{font-weight:600;color:#2d1810;font-size:1rem}.form-input,.form-textarea{padding:.875rem;border:2px solid #e5e7eb;border-radius:8px;font-size:1rem;transition:border-color .3s ease;background:#fff}.form-input:focus,.form-textarea:focus{outline:none;border-color:#f4a261;box-shadow:0 0 0 3px #f4a2611a}.form-textarea{resize:vertical;min-height:100px;font-family:inherit}.form-hint{font-size:.875rem;color:#6b7280;margin-top:.25rem}.profile-picture-upload{display:flex;gap:1.5rem;align-items:flex-start}.current-picture{width:80px;height:80px;border-radius:50%;overflow:hidden;border:3px solid #F4A261;flex-shrink:0}.current-picture img{width:100%;height:100%;object-fit:cover}.current-picture .avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f4a261,#f4d03f);color:#2d1810;font-weight:700;font-size:1.5rem}.upload-controls{flex:1}.upload-btn{display:inline-block;padding:.75rem 1.25rem;background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;font-weight:600;color:#495057;transition:all .3s ease;margin-bottom:.5rem}.upload-btn:hover{background:#e9ecef;border-color:#f4a261}.file-selected{color:#28a745;font-size:.875rem;margin:.5rem 0;font-weight:500}.upload-hint{font-size:.8rem;color:#6c757d;margin:0}.checkbox-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.75rem;margin-top:.5rem}.checkbox-item{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:#f8f9fa;border-radius:8px;cursor:pointer;transition:all .3s ease;border:2px solid transparent}.checkbox-item:hover{background:#f4a261;color:#fff}.checkbox-item input[type=checkbox]{width:18px;height:18px;accent-color:#F4A261}.checkbox-item span{font-weight:500;font-size:.9rem}.privacy-options{display:flex;flex-direction:column;gap:1rem;margin-top:.5rem}.radio-item{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem;background:#f8f9fa;border-radius:12px;cursor:pointer;transition:all .3s ease;border:2px solid transparent}.radio-item:hover{border-color:#f4a261;background:#f4a2610d}.radio-item input[type=radio]{width:20px;height:20px;accent-color:#F4A261;margin-top:2px;flex-shrink:0}.radio-content{display:flex;flex-direction:column;gap:.25rem}.radio-title{font-weight:600;color:#2d1810;font-size:1rem}.radio-description{font-size:.875rem;color:#6b7280;line-height:1.4}@media (max-width: 768px){.edit-profile-section{padding:1.5rem;margin:1rem 0}.edit-profile-header{flex-direction:column;gap:1rem;align-items:stretch}.edit-actions{justify-content:center}.cancel-btn{flex:1;max-width:200px}.profile-picture-upload{flex-direction:column;align-items:center;text-align:center}.checkbox-grid{grid-template-columns:1fr}.privacy-options{gap:.75rem}.radio-item{padding:1rem}.form-actions-bottom{margin-top:2rem;padding-top:1.5rem}.save-btn-bottom{width:100%;max-width:300px;padding:1.25rem 2rem}}.want-to-try-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;margin-top:1.5rem}.want-to-try-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a;transition:all .3s ease;border:2px solid transparent;position:relative}.want-to-try-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000026;border-color:#3b82f6}.want-to-try-image{width:100%;height:180px;position:relative;overflow:hidden;background:linear-gradient(135deg,#f8f9fa,#e9ecef)}.want-to-try-image img{width:100%;height:100%;object-fit:cover}.want-to-try-image .placeholder-image{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3rem;color:#6b7280;background:linear-gradient(135deg,#3b82f6 20%,#60a5fa 80%)}.want-to-try-info{padding:1.25rem 1.25rem .75rem}.want-to-try-name{font-size:1.1rem;font-weight:700;color:#2d1810;margin:0 0 .5rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.want-to-try-maker{font-size:.9rem;color:#6b7280;margin:0 0 .5rem;font-weight:500}.want-to-try-date{font-size:.8rem;color:#9ca3af;margin:0;font-style:italic}.want-to-try-actions{padding:0 1.25rem 1.25rem;display:flex;gap:.75rem}.view-chocolate-btn{background:linear-gradient(135deg,#3b82f6,#60a5fa);color:#fff;text-decoration:none;padding:.5rem 1rem;border-radius:6px;font-size:.85rem;font-weight:600;transition:all .3s ease;flex:1;text-align:center;border:none;cursor:pointer}.view-chocolate-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3b82f666;text-decoration:none;color:#fff}.remove-want-to-try-btn{background:#f8f9fa;color:#6b7280;border:1px solid #e5e7eb;padding:.5rem 1rem;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease;flex:0 0 auto}.remove-want-to-try-btn:hover{background:#ef4444;color:#fff;border-color:#ef4444;transform:translateY(-1px)}.browse-chocolates-btn{background:linear-gradient(135deg,#f4a261,#f4d03f);color:#2d1810;text-decoration:none;padding:.75rem 2rem;border-radius:8px;font-weight:600;transition:all .3s ease;display:inline-block;margin-top:1rem}.browse-chocolates-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #f4a26166;text-decoration:none;color:#2d1810}.empty-state{text-align:center;padding:3rem 2rem;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-radius:12px;margin-top:2rem;border:2px dashed #cbd5e1}.empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.7}.empty-state h4{color:#374151;margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.empty-state p{color:#6b7280;margin:0 0 1.5rem;font-size:1rem;line-height:1.5;max-width:400px;margin-left:auto;margin-right:auto}.profile-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1.5rem;margin:2rem 0}.stat-card{background:#fff;padding:1.5rem;border-radius:12px;text-align:center;box-shadow:0 2px 8px #0000001a;border:2px solid transparent;transition:all .3s ease}.stat-card:hover{border-color:#f4a261;transform:translateY(-2px)}.stat-value{font-size:2.5rem;font-weight:800;color:#f4a261;margin:0;line-height:1}.stat-label{font-size:.9rem;color:#6b7280;margin:.5rem 0 0;font-weight:500;text-transform:uppercase;letter-spacing:.5px}@media (max-width: 768px){.want-to-try-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.want-to-try-actions{flex-direction:column;gap:.5rem}.profile-stats{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.want-to-try-grid,.profile-stats{grid-template-columns:1fr}.empty-state{padding:2rem 1rem}}:root{--mobile-padding: 1rem;--mobile-gap: 1rem;--touch-target: 44px;--card-radius: 16px;--filter-radius: 12px;--primary-color: #2D1810;--accent-color: #F4A261;--text-dark: #374151;--text-medium: #6B7280;--bg-light: #F8F9FA;--border-color: #E5E7EB;--white: #FFFFFF;--success-color: #10B981;--warning-color: #F59E0B;--error-color: #DC2626}.browse-page{padding:var(--mobile-padding) 0;width:100%;background:#fff!important;background-color:#fff!important;min-height:100vh;position:relative}.browse-header{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.5rem;padding:var(--mobile-padding);background:#fff!important;background-color:#fff!important;border-radius:var(--card-radius);box-shadow:0 4px 20px #0000000f;border:1px solid var(--border-color);position:relative;overflow:hidden}.browse-header:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,var(--accent-color) 0%,#F4D03F 100%)}.header-content{text-align:center}.header-content h1{font-size:1.75rem;font-weight:700;color:var(--primary-color);margin:0 0 .5rem;font-family:Playfair Display,serif;letter-spacing:-.02em}.browse-description{color:var(--text-medium);font-size:1rem;margin:0;line-height:1.6;font-weight:400}.quick-stats{display:flex;justify-content:space-around;gap:.5rem;margin-top:1rem}.stat-item{text-align:center;padding:.875rem .5rem;background:linear-gradient(135deg,#f4a26114,#f4d03f14);border-radius:var(--filter-radius);flex:1;min-width:0;border:1px solid rgba(244,162,97,.15);transition:all .3s ease;cursor:pointer}.stat-item:active{transform:scale(.95);background:linear-gradient(135deg,#f4a26126,#f4d03f26)}.stat-number{display:block;font-size:1.5rem;font-weight:800;color:var(--accent-color);margin-bottom:.25rem;font-family:Inter,sans-serif}.stat-label{font-size:.75rem;font-weight:600;color:var(--text-medium);text-transform:uppercase;letter-spacing:.5px}.modern-filter-bar{position:sticky;top:1rem;z-index:100;background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(244,162,97,.1);border-radius:20px;padding:1rem 1.5rem;margin-bottom:2rem;box-shadow:0 8px 32px #00000014,0 0 0 1px #f4a2610d;transition:all .3s cubic-bezier(.4,0,.2,1)}.modern-filter-bar:hover{box-shadow:0 12px 40px #0000001f,0 0 0 1px #f4a2611a}.filter-controls{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.filter-toggle{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;background:linear-gradient(135deg,#f8f9fa,#fff);border:2px solid transparent;border-radius:50px;color:#2d1810;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);font-weight:600;font-size:.9rem;position:relative;overflow:hidden;white-space:nowrap}.filter-toggle:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(244,162,97,.1),transparent);transition:left .6s ease}.filter-toggle:hover:before{left:100%}.filter-toggle:hover{background:linear-gradient(135deg,#f4a261,#f4d03f);color:#2d1810;transform:translateY(-2px);box-shadow:0 8px 25px #f4a2614d;border-color:#f4a26133}.filter-toggle.active{background:linear-gradient(135deg,#f4a261,#e76f51);color:#fff;transform:scale(1.05);box-shadow:0 6px 20px #f4a26166}.filter-badge{background:linear-gradient(135deg,#e76f51,#dc2626);color:#fff;border-radius:50%;width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;animation:bounce 2s infinite;box-shadow:0 2px 8px #dc26264d}@keyframes bounce{0%,20%,53%,80%,to{transform:translateZ(0) scale(1)}40%,43%{transform:translate3d(0,-8px,0) scale(1.1)}}.sort-dropdown{position:relative}.modern-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:linear-gradient(135deg,#fff,#f8f9fa);border:2px solid rgba(244,162,97,.2);border-radius:15px;padding:.75rem 2.5rem .75rem 1rem;font-size:.9rem;font-weight:600;color:#2d1810;cursor:pointer;transition:all .3s ease;min-width:180px;position:relative}.sort-dropdown:after{content:"⌄";position:absolute;right:1rem;top:50%;transform:translateY(-50%);font-size:1.2rem;color:#f4a261;pointer-events:none;transition:transform .3s ease}.modern-select:hover{border-color:#f4a261;box-shadow:0 4px 12px #f4a26126;transform:translateY(-1px)}.modern-select:focus{outline:none;border-color:#f4a261;box-shadow:0 0 0 3px #f4a2611a}.clear-filters-modern{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:linear-gradient(135deg,#fee2e2,#fecaca);border:2px solid rgba(220,38,38,.2);border-radius:12px;color:#dc2626;cursor:pointer;transition:all .3s ease;font-weight:600;font-size:.85rem}.clear-filters-modern:hover{background:linear-gradient(135deg,#fecaca,#fca5a5);transform:scale(1.05);box-shadow:0 4px 12px #dc262633}.results-summary{margin-left:auto;padding:.5rem 1rem;background:linear-gradient(135deg,#f4a2611a,#f4d03f1a);border-radius:20px;border:1px solid rgba(244,162,97,.2)}.results-count{font-weight:700;color:#2d1810;font-size:.9rem;display:flex;align-items:center;gap:.5rem}.results-count:before{content:"🍫";font-size:1rem}.modern-filters{background:#fff;border:1px solid rgba(244,162,97,.1);border-radius:20px;margin-bottom:2rem;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);max-height:0;opacity:0;box-shadow:0 4px 20px #0000000d}.modern-filters.expanded{max-height:500px;opacity:1;padding:2rem;box-shadow:0 8px 32px #00000014}.filters-grid-modern{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem}.filter-card{background:linear-gradient(135deg,#fefcfc,#f8f9fa);border:2px solid rgba(244,162,97,.1);border-radius:16px;padding:1.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.filter-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#f4a261,#f4d03f);transform:scaleX(0);transition:transform .3s ease}.filter-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px #f4a26126;border-color:#f4a2614d}.filter-card:hover:before{transform:scaleX(1)}.filter-label{display:flex;align-items:center;gap:.75rem;font-weight:700;color:#2d1810;margin-bottom:1rem;font-size:.95rem}.filter-label svg{color:#f4a261;flex-shrink:0}.modern-filter-select{width:100%;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:linear-gradient(135deg,#fff,#fefcfc);border:2px solid rgba(244,162,97,.2);border-radius:12px;padding:.875rem 1rem;font-size:.9rem;font-weight:500;color:#2d1810;cursor:pointer;transition:all .3s ease;position:relative}.modern-filter-select:hover{border-color:#f4a261;box-shadow:0 2px 8px #f4a2611a;transform:translateY(-1px)}.modern-filter-select:focus{outline:none;border-color:#f4a261;box-shadow:0 0 0 3px #f4a2611a}.filter-card.cacao-card{grid-column:span 2;background:linear-gradient(135deg,#f4a2610d,#f4d03f0d)}.cacao-range{display:flex;align-items:center;gap:1rem;margin-top:1rem}.cacao-input{flex:1;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:#fff;border:2px solid rgba(244,162,97,.2);border-radius:8px;padding:.75rem;font-size:.9rem;font-weight:500;text-align:center;transition:all .3s ease}.cacao-input:focus{outline:none;border-color:#f4a261;box-shadow:0 0 0 3px #f4a2611a}.cacao-separator{font-weight:700;color:#f4a261;font-size:1.1rem}@media (max-width: 768px){.modern-filter-bar{padding:1rem;border-radius:16px;position:relative;top:0}.filter-controls{flex-direction:column;gap:.75rem;align-items:stretch}.filter-toggle,.modern-select{width:100%;justify-content:center}.results-summary{margin-left:0;margin-top:.5rem;text-align:center}.filters-grid-modern{grid-template-columns:1fr;gap:1rem}.filter-card.cacao-card{grid-column:span 1}.cacao-range{flex-direction:column;gap:.75rem}}@media (max-width: 480px){.modern-filter-bar{margin:0 -1rem 1.5rem;border-radius:0;border-left:none;border-right:none}.modern-filters.expanded{padding:1.5rem;margin:0 -1rem 1.5rem;border-radius:0;border-left:none;border-right:none}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.filter-card.loading{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200px 100%;animation:shimmer 1.5s infinite}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.filter-toggle:before,.filter-badge{animation:none}}@media (prefers-contrast: high){.filter-toggle,.modern-select,.modern-filter-select,.cacao-input{border-width:3px;border-color:#000}.modern-filter-bar,.modern-filters,.filter-card{border:3px solid #000000}}.chocolate-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;padding:0 var(--mobile-padding);margin-bottom:3rem}.chocolate-card,.chocolate-card *{background-color:#fff!important;color:inherit!important}.chocolate-card{border:1px solid var(--border-color)!important;box-shadow:0 2px 8px #0000000f!important}.loading-container,.no-results-modern{background:#fff!important;color:var(--text-dark)!important;padding:3rem var(--mobile-padding);text-align:center;border-radius:var(--card-radius);margin:1.5rem 0}.floating-filter-toggle,.scroll-to-top{background:#fff!important;border:2px solid var(--border-color)!important;color:var(--text-dark)!important;box-shadow:0 4px 16px #0000001a!important}.browse-page,.browse-header,.modern-filter-bar,.modern-filters,.chocolate-card,.stat-item{background:#fff!important;background-color:#fff!important}@media (min-width: 480px){.browse-header{padding:1.5rem}.chocolate-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.25rem;padding:0 1.5rem}.modern-filter-bar{padding:1.5rem}}@media (min-width: 768px){.browse-page{padding:2rem 0}.browse-header{flex-direction:row;align-items:center;gap:2rem;margin-bottom:2rem}.header-content{text-align:left;flex:1}.header-content h1{font-size:2.25rem}.browse-description{font-size:1.1rem}.quick-stats{flex-direction:column;gap:1rem;margin-top:0;min-width:200px}.stat-item{padding:1.5rem 2rem}.stat-number{font-size:2rem}.chocolate-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;padding:0 2rem}.filter-controls{flex-wrap:nowrap;gap:1rem}.filter-toggle{flex:0 1 auto;min-width:140px;max-width:180px}.results-summary{order:initial;width:auto;margin-bottom:0;justify-content:flex-end}}@media (min-width: 1024px){.chocolate-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2.5rem}.browse-header{gap:3rem}.header-content h1{font-size:2.5rem}.browse-description{font-size:1.2rem}}.chocolate-card{content-visibility:auto;contain-intrinsic-size:280px 380px}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{.modern-filter-bar,.modern-filters,.floating-filter-toggle,.scroll-to-top{display:none!important}.browse-page{background:#fff!important}}.barcode-search-page{padding:2rem 0;background:linear-gradient(135deg,#fdfcfc,#f8f9fa);min-height:100vh}.construction-banner{background:linear-gradient(135deg,#fbbf24,#f59e0b);border:3px solid #f59e0b;border-radius:16px;padding:2rem;margin-bottom:3rem;display:flex;align-items:center;justify-content:center;gap:1.5rem;box-shadow:0 8px 32px #f59e0b4d;position:relative;overflow:hidden}.construction-banner:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 3s infinite}@keyframes shimmer{0%{left:-100%}to{left:100%}}.construction-icon{font-size:3rem;animation:bounce 2s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.construction-content{text-align:center;color:#92400e}.construction-content h2{margin:0 0 .5rem;font-size:2rem;font-weight:800;text-shadow:0 2px 4px rgba(146,64,14,.3)}.construction-content p{margin:0;font-size:1.2rem;font-weight:600}.page-header h1{color:var(--primary-dark);margin-bottom:.5rem;font-size:2.5rem}.page-description{color:var(--primary);font-size:1.2rem;max-width:700px;margin:0 auto}.scanner-preview{background:#fff;border-radius:16px;padding:3rem 2rem;margin-bottom:3rem;box-shadow:0 8px 32px #0000001a;position:relative;overflow:hidden}.coming-soon-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#fffffff2;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;z-index:10}.coming-soon-content{text-align:center;max-width:500px;padding:2rem}.coming-soon-icon{font-size:4rem;margin-bottom:1rem;animation:pulse 2s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.coming-soon-content h3{color:#2d1810;font-size:2rem;margin-bottom:1rem}.coming-soon-content p{color:#6b7280;font-size:1.1rem;margin-bottom:1.5rem}.feature-list{text-align:left;margin:1.5rem 0;padding:0;list-style:none}.feature-list li{padding:.5rem 0;font-size:1rem;color:#374151;font-weight:500}.eta-badge{background:linear-gradient(135deg,#f4a261,#f4d03f);color:#2d1810;padding:.75rem 1.5rem;border-radius:50px;display:inline-block;margin-top:1rem;font-weight:700;box-shadow:0 4px 16px #f4a2614d}.scanner-mockup{display:flex;flex-direction:column;align-items:center;gap:2rem;opacity:.3}.mock-camera{width:300px;height:200px;background:#1f2937;border-radius:12px;display:flex;align-items:center;justify-content:center;position:relative}.camera-viewfinder{width:250px;height:150px;border:2px dashed #F4A261;border-radius:8px;position:relative;display:flex;align-items:center;justify-content:center}.scan-line{width:100%;height:2px;background:#f4a261;position:absolute;animation:scan 2s infinite;box-shadow:0 0 10px #f4a261}@keyframes scan{0%{top:0}50%{top:calc(100% - 2px)}to{top:0}}.corner{position:absolute;width:20px;height:20px;border:3px solid #F4A261}.corner.top-left{top:-2px;left:-2px;border-right:none;border-bottom:none}.corner.top-right{top:-2px;right:-2px;border-left:none;border-bottom:none}.corner.bottom-left{bottom:-2px;left:-2px;border-right:none;border-top:none}.corner.bottom-right{bottom:-2px;right:-2px;border-left:none;border-top:none}.mock-controls{display:flex;gap:1rem}.mock-btn{padding:.75rem 1.5rem;border:2px solid #e5e7eb;border-radius:8px;background:#f9fafb;color:#9ca3af;font-weight:600;cursor:not-allowed}.info-section{background:#fff;border-radius:16px;padding:3rem 2rem;margin-bottom:3rem;box-shadow:0 8px 32px #0000001a}.info-section h2{color:var(--primary-dark);margin-top:0;margin-bottom:2rem;text-align:center;font-size:2rem}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;margin-bottom:3rem}.info-card{text-align:center;padding:2rem 1rem;border-radius:12px;background:#f8f9fa;border:2px solid transparent;transition:all .3s ease}.info-card:hover{border-color:#f4a261;transform:translateY(-4px);box-shadow:0 8px 24px #f4a26133}.info-icon{font-size:3rem;margin-bottom:1rem}.info-card h3{color:#2d1810;margin-bottom:1rem;font-size:1.25rem}.info-card p{color:#6b7280;line-height:1.6;margin:0}.current-alternative{background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:2px solid #0284c7;border-radius:12px;padding:2rem;text-align:center}.current-alternative h3{color:#0284c7;margin-top:0;margin-bottom:1rem;font-size:1.5rem}.current-alternative p{color:#0369a1;margin-bottom:2rem;font-size:1.1rem}.alternative-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.action-btn{padding:.75rem 1.5rem;border-radius:8px;text-decoration:none;font-weight:600;transition:all .3s ease;display:inline-flex;align-items:center;gap:.5rem}.action-btn.primary{background:#f4a261;color:#2d1810;box-shadow:0 4px 16px #f4a2614d}.action-btn.primary:hover{background:#e69347;transform:translateY(-2px)}.action-btn.secondary{background:#fff;color:#f4a261;border:2px solid #F4A261}.action-btn.secondary:hover{background:#f4a261;color:#2d1810}.progress-section{background:#fff;border-radius:16px;padding:2rem;box-shadow:0 8px 32px #0000001a}.progress-section h3{color:var(--primary-dark);margin-top:0;margin-bottom:2rem;text-align:center;font-size:1.5rem}.progress-items{display:flex;flex-direction:column;gap:1rem}.progress-item{display:flex;align-items:center;gap:1rem;padding:1rem;border-radius:8px;background:#f8f9fa;transition:all .3s ease}.progress-item.completed{background:#dcfce7;border:2px solid #16a34a}.progress-item.in-progress{background:#fef3c7;border:2px solid #f59e0b}.progress-item.pending{background:#f1f5f9;border:2px solid #cbd5e1}.progress-icon{font-size:1.5rem;flex-shrink:0}.progress-item span{font-weight:600;color:#374151}.progress-item.completed span{color:#16a34a}.progress-item.in-progress span{color:#f59e0b}@media (max-width: 768px){.construction-banner{flex-direction:column;gap:1rem;padding:1.5rem}.construction-icon{font-size:2rem}.construction-content h2{font-size:1.5rem}.construction-content p{font-size:1rem}.page-header h1{font-size:2rem}.page-description{font-size:1rem}.coming-soon-content{padding:1rem}.coming-soon-icon{font-size:3rem}.coming-soon-content h3{font-size:1.5rem}.mock-camera{width:250px;height:160px}.camera-viewfinder{width:200px;height:120px}.alternative-actions{flex-direction:column;align-items:center}.action-btn{width:100%;max-width:300px;justify-content:center}.info-grid{grid-template-columns:1fr}.mock-controls{flex-direction:column;align-items:center}}.category-page{min-height:100vh}.category-hero{background-size:cover;background-position:center;color:var(--text-light);padding:4rem 0;margin-bottom:2rem;text-align:center}.category-hero h1{font-size:2.5rem;margin-bottom:1rem;font-family:"Source Serif Pro",serif}.category-description{max-width:800px;margin:0 auto;font-size:1.2rem;line-height:1.6;opacity:.9}.category-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1rem;background-color:var(--off-white);border-radius:var(--radius-md)}.sort-control label{color:var(--brown-medium)}.no-chocolates p{margin-bottom:1.5rem;color:var(--text-medium)}@media (max-width: 768px){.category-controls{flex-direction:column;gap:1rem;align-items:flex-start}.chocolates-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem}.category-hero{padding:3rem 0}.category-hero h1{font-size:2rem}.category-description{font-size:1rem}}.category-landing-page{width:100%;min-height:100vh}.category-hero{background:linear-gradient(135deg,#f4a261,#f4d03f);padding:3rem 0;color:#2d1810}.category-header{text-align:center;max-width:800px;margin:0 auto}.breadcrumb{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:1.5rem;font-size:.9rem}.breadcrumb a{color:#2d1810;text-decoration:none;opacity:.8;transition:opacity .3s ease}.breadcrumb a:hover{opacity:1;text-decoration:underline}.breadcrumb span{opacity:.6}.category-header h1{font-size:2.5rem;font-weight:800;margin:0 0 1rem;line-height:1.2}.category-description{font-size:1.1rem;line-height:1.6;margin:0 0 2rem;opacity:.9}.category-stats{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap}.category-stats .stat{background:#fff3;padding:.75rem 1.5rem;border-radius:25px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:.9rem}.category-stats strong{font-weight:700;font-size:1.1rem}.category-content{padding:3rem 0;background:#f8f9fa}.content-grid{display:grid;grid-template-columns:2fr 1fr;gap:3rem;align-items:start}.guide-section h2{color:#2d1810;font-size:1.8rem;margin:0 0 1rem;font-weight:700}.guide-section h3{color:#2d1810;font-size:1.3rem;margin:2rem 0 1rem;font-weight:600}.guide-section p{line-height:1.7;color:#4a5568;margin-bottom:1.5rem}.tasting-tips{background:#fff;padding:1.5rem;border-radius:12px;border-left:4px solid #F4A261;margin-top:2rem}.tasting-tips ul{margin:1rem 0 0;padding-left:1.5rem}.tasting-tips li{margin-bottom:.75rem;line-height:1.6;color:#4a5568}.quick-filters{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 12px #0000001a;height:fit-content;position:sticky;top:2rem}.quick-filters h3{color:#2d1810;font-size:1.2rem;margin:0 0 1.5rem;font-weight:600}.filter-links{display:flex;flex-direction:column;gap:.75rem}.filter-link{padding:.75rem 1rem;background:#f8f9fa;color:#4a5568;text-decoration:none;border-radius:8px;font-weight:500;transition:all .3s ease;border:2px solid transparent}.filter-link:hover{background:#f4a261;color:#fff;transform:translate(4px)}.chocolates-section{padding:3rem 0}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.section-header h2{color:#2d1810;font-size:2rem;margin:0;font-weight:700}.sort-controls select{padding:.75rem 1rem;border:2px solid #E5E7EB;border-radius:8px;background:#fff;color:#4a5568;font-weight:500;cursor:pointer;transition:border-color .3s ease}.sort-controls select:focus{outline:none;border-color:#f4a261}.chocolates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;margin-top:2rem}.no-chocolates{text-align:center;padding:4rem 2rem;background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a}.no-chocolates h3{color:#2d1810;font-size:1.5rem;margin:0 0 1rem}.no-chocolates p{color:#6b7280;margin:0 0 2rem;line-height:1.6}.alternative-links{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.btn{padding:.75rem 1.5rem;border-radius:8px;text-decoration:none;font-weight:600;transition:all .3s ease}.btn-primary{background:#f4a261;color:#fff}.btn-primary:hover{background:#e6935c;transform:translateY(-2px)}.btn-secondary{background:#fff;color:#f4a261;border:2px solid #F4A261}.btn-secondary:hover{background:#f4a261;color:#fff}.related-categories{padding:3rem 0;background:#f8f9fa}.related-categories h2{text-align:center;color:#2d1810;font-size:2rem;margin:0 0 3rem;font-weight:700}.category-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.category-link{background:#fff;padding:2rem;border-radius:12px;text-decoration:none;color:inherit;box-shadow:0 4px 12px #0000001a;transition:all .3s ease;border:2px solid transparent}.category-link:hover{transform:translateY(-4px);border-color:#f4a261;box-shadow:0 8px 24px #f4a26133}.category-link h3{color:#2d1810;font-size:1.3rem;margin:0 0 .5rem;font-weight:600}.category-link p{color:#6b7280;margin:0;line-height:1.5}@media (max-width: 768px){.category-hero{padding:2rem 0}.category-header h1{font-size:2rem}.category-stats{gap:1rem}.content-grid{grid-template-columns:1fr;gap:2rem}.quick-filters{position:static}.section-header{flex-direction:column;gap:1rem;align-items:stretch}.chocolates-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem}.category-links{grid-template-columns:1fr}.alternative-links{flex-direction:column;align-items:center}}@media (max-width: 480px){.category-header h1{font-size:1.8rem}.category-stats{flex-direction:column;align-items:center;gap:.5rem}.chocolates-grid{grid-template-columns:1fr}}.maker-page{padding:2rem 0;min-height:100vh}.maker-header{text-align:center;margin-bottom:2rem;padding:2rem 0;background-color:var(--off-white);border-radius:var(--radius-lg)}.maker-header h1{font-size:2.5rem;color:var(--primary-dark);margin-bottom:.5rem;font-family:"Source Serif Pro",serif}.maker-description{color:var(--text-medium);font-size:1.1rem;max-width:600px;margin:0 auto}.maker-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1rem;background-color:var(--off-white);border-radius:var(--radius-md)}.results-count{font-weight:500;color:var(--brown-medium)}.sort-control{display:flex;align-items:center;gap:.5rem}.sort-control label{color:var(--brown-medium);font-weight:500}.sort-control select{padding:.5rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background-color:#fff;color:var(--text-dark);font-size:.9rem}.chocolates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem;margin-bottom:3rem}.no-chocolates{text-align:center;padding:3rem;background-color:var(--off-white);border-radius:var(--radius-md);margin:2rem 0}.no-chocolates p{margin-bottom:1rem;color:var(--text-medium)}.no-chocolates p:last-child{font-size:.9rem;font-style:italic}.loading-container,.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:5rem 1rem;text-align:center}.loading-spinner{border:4px solid rgba(0,0,0,.1);border-left:4px solid var(--brown-medium);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin-bottom:1rem}.error-container p{color:#d32f2f;margin-bottom:1.5rem}@media (max-width: 768px){.maker-controls{flex-direction:column;gap:1rem;align-items:flex-start}.chocolates-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem}.maker-header{padding:1.5rem 0}.maker-header h1{font-size:2rem}}.image-uploader{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%}.image-preview-container{width:100%;height:200px;border:2px dashed var(--primary-light);border-radius:8px;display:flex;align-items:center;justify-content:center;overflow:hidden;background-color:#f9f9f9;position:relative}.preview-wrapper{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.image-preview{max-width:100%;max-height:100%;object-fit:contain;border-radius:4px}.remove-image-btn{position:absolute;top:8px;right:8px;background:#000000b3;color:#fff;border:none;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:16px;font-weight:700;transition:background-color .2s}.remove-image-btn:hover{background:#000000e6}.image-placeholder{color:#999;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5rem}.image-placeholder span:first-child{font-size:2rem;opacity:.5}.upload-controls{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;justify-content:center}.upload-button{background-color:var(--primary);color:#fff;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease;border:none;display:flex;align-items:center;gap:.5rem;font-size:.95rem}.upload-button:hover:not(.disabled){background-color:var(--primary-dark);transform:translateY(-1px)}.upload-button.disabled{background-color:#ccc;cursor:not-allowed;transform:none}.error-message{color:#dc2626;fontSize:.875rem;margin-top:.5rem;padding:.75rem;background-color:#fee2e2;border-radius:6px;border:1px solid #fca5a5;text-align:center;width:100%;max-width:400px}.upload-info{font-size:.8rem;color:#6b7280;text-align:center;line-height:1.4;max-width:300px}.upload-info small{display:block;margin-top:.25rem;font-size:.75rem;color:#9ca3af;font-style:italic}.upload-button.disabled:after{content:"";width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite;margin-left:.5rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.image-preview-container{height:160px}.upload-button{padding:.6rem 1.2rem;font-size:.9rem}.upload-info{font-size:.75rem}}.add-chocolate-page{min-height:100vh;background:linear-gradient(135deg,#fdfcfc,#f8f9fa);padding:2rem 0}.page-header{text-align:center;margin-bottom:3rem}.page-header h1{font-size:2.5rem;color:var(--primary-dark);margin-bottom:.5rem;font-family:Playfair Display,serif}.page-header p{font-size:1.2rem;color:var(--medium-gray);margin-bottom:2rem}.add-chocolate-form{background:#fff;border-radius:20px;padding:3rem;box-shadow:0 8px 32px #00000014;border:1px solid #F3F4F6;max-width:800px;margin:0 auto}.form-section{background:#fff;border-radius:16px;padding:2rem;margin-bottom:2rem;box-shadow:0 4px 20px #0000000f;border:1px solid #e5e7eb}.section-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem;justify-content:center}.section-header h2{font-size:1.75rem;color:#2d1810;margin:0;font-weight:700}.section-header .section-icon{font-size:1.5rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:2rem}.form-grid-three{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.form-group label{font-weight:600;color:#2d1810;margin-bottom:.5rem;display:block;font-size:1rem}.form-group label[for=origin]:after{content:" (Optional)";font-weight:400;color:#6b7280;font-size:.9rem}.form-group input,.form-group textarea{padding:.875rem 1rem;border:2px solid #E5E7EB;border-radius:12px;font-size:1rem;transition:all .3s ease;background:#fff;color:var(--dark-gray)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#f4a261;box-shadow:0 0 0 3px #f4a2611a;transform:translateY(-1px)}.form-group textarea{resize:vertical;min-height:120px;line-height:1.6}.type-selector{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.75rem;margin-top:.5rem}.type-button{padding:.875rem 1rem;border:2px solid #D1D5DB!important;border-radius:12px;background:#fff!important;color:#374151!important;font-weight:500;cursor:pointer;transition:all .3s ease;text-align:center;font-size:.95rem;box-shadow:0 1px 3px #0000001a;position:relative;overflow:hidden}.type-button:hover{border-color:#f4a261!important;background:#fef3e7!important;color:#2d1810!important;transform:translateY(-1px);box-shadow:0 4px 12px #f4a26133}.type-button.selected{border-color:#f4a261!important;background:#f4a261!important;color:#fff!important;font-weight:600;transform:translateY(-2px);box-shadow:0 4px 12px #f4a26166}.type-button.selected:after{content:"✓";position:absolute;top:4px;right:8px;font-size:.8rem;font-weight:700}.tag-selection{display:flex;flex-direction:column;gap:1rem}.tag-helper{color:#6b7280;font-size:.95rem;margin:0}.tag-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem}.tag-button{padding:.75rem 1rem;border:2px solid #E5E7EB;border-radius:20px;background:#fff;color:var(--dark-gray);font-size:.875rem;font-weight:500;cursor:pointer;transition:all .3s ease;text-align:center;position:relative}.tag-button:hover{border-color:var(--accent);background:#f4a2610d;transform:translateY(-1px)}.tag-button.selected{border-color:var(--primary);background:var(--primary);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #6a42264d}.tag-button.selected:after{content:"✓";position:absolute;top:2px;right:6px;font-size:.7rem;font-weight:700}.tag-section-wrapper{position:relative}.tag-expand-toggle{display:none;width:100%;padding:.75rem;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;color:#374151;font-weight:600;cursor:pointer;margin-top:.5rem;transition:all .3s ease;text-align:center}.tag-expand-toggle:hover{background:#e5e7eb}.tag-expand-toggle:after{content:"▼";margin-left:.5rem;font-size:.8rem;transition:transform .3s ease}.tag-expand-toggle.expanded:after{transform:rotate(180deg)}.tag-scroll-container{position:relative;max-height:none;overflow:visible}.selected-tags-summary{display:none;padding:.75rem;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:8px;margin-bottom:.5rem;font-size:.85rem;color:#065f46}.selected-tags-summary strong{font-weight:600;color:#059669}.review-section-enhanced{background:linear-gradient(135deg,#fefefe,#f9fafb);border:2px solid #e5e7eb;border-radius:16px;padding:2rem;margin-bottom:2rem;position:relative;overflow:hidden;box-shadow:0 4px 20px #0000000d}.review-section-enhanced:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#f4a261,#f4d03f,#f4a261)}.review-intro-enhanced{background:#f4a26114;padding:1rem 1.25rem;border-radius:12px;border-left:4px solid #F4A261;margin-bottom:1.5rem;color:#374151}.review-intro-enhanced p{margin:0;font-size:.95rem;line-height:1.5;color:#4b5563}.rating-group{background:#fff;padding:1.5rem;border-radius:12px;border:1px solid #e5e7eb;margin-bottom:2rem;box-shadow:0 2px 8px #0000000a}.rating-group label{font-weight:700;color:#2d1810;font-size:1.1rem;margin-bottom:1rem;display:block}.rating-input-container{background:#f9fafb;padding:1.25rem;border-radius:12px;border:1px solid #e5e7eb}.rating-input{display:flex;gap:.75rem;align-items:center;justify-content:center;flex-wrap:nowrap;margin:0;padding:0}.star-button{background:none;border:none;font-size:2.25rem;color:#e5e7eb;cursor:pointer;transition:all .2s ease;padding:.375rem;min-width:48px;min-height:48px;display:flex;align-items:center;justify-content:center;border-radius:4px;flex-shrink:0}.star-button:hover{background-color:#f4a2611a;transform:scale(1.15)}.star-button:active{transform:scale(.95)}.star-button.filled{color:#f4a261;text-shadow:0 2px 4px rgba(244,162,97,.3)}.star-button:focus{outline:2px solid #F4A261;outline-offset:2px}.rating-feedback{margin-top:1rem;padding-top:1rem;border-top:1px solid #e5e7eb;text-align:center;animation:fadeIn .3s ease}.rating-text{font-weight:700;font-size:1.1rem;color:#2d1810;display:block;margin-bottom:.25rem}.rating-description{font-size:.9rem;color:#6b7280;font-weight:500}.rating-feedback[data-rating="1"] .rating-text{color:#dc2626}.rating-feedback[data-rating="2"] .rating-text{color:#ea580c}.rating-feedback[data-rating="3"] .rating-text{color:#ca8a04}.rating-feedback[data-rating="4"] .rating-text{color:#16a34a}.rating-feedback[data-rating="5"] .rating-text{color:#059669}.form-section:has(.image-uploader){background:#fff;border:1px solid #e5e7eb}.image-uploader .image-preview-container{width:100%;height:200px;border:2px dashed #e5e7eb;border-radius:12px;background:#f9fafb;transition:all .3s ease;position:relative;overflow:hidden}.image-uploader .image-preview-container:hover{border-color:#f4a261;background:#fef3e7}.image-uploader .image-placeholder{color:#9ca3af;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:2rem}.image-uploader .image-placeholder span:first-child{font-size:2.5rem;opacity:.6;color:#9ca3af}.image-uploader .image-placeholder span:last-child{font-size:1rem;font-weight:500;color:#6b7280}.image-uploader .upload-button{background:#f4a261;color:#fff;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease;border:none;display:inline-flex;align-items:center;gap:.5rem;font-size:.95rem;box-shadow:0 2px 8px #f4a2614d}.image-uploader .upload-button:before{content:"📷";margin-right:.25rem}.image-uploader .upload-button:hover:not(.disabled){background:#e89545;transform:translateY(-1px);box-shadow:0 4px 12px #f4a26166}.image-uploader .remove-image-btn{position:absolute;top:12px;right:12px;background:#ef4444e6;color:#fff;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:20px;font-weight:700;transition:all .3s ease;box-shadow:0 2px 8px #0003}.image-uploader .remove-image-btn:hover{background:#dc2626;transform:scale(1.1)}.image-uploader .upload-info{font-size:.85rem;color:#6b7280;text-align:center;line-height:1.5;margin-top:.5rem}.image-selected{display:flex;align-items:center;gap:.5rem;color:#059669;font-weight:600;margin-top:1rem;padding:.75rem 1rem;background:#ecfdf5;border-radius:8px;border:1px solid #a7f3d0}.textarea-footer{display:flex;justify-content:space-between;align-items:flex-end;margin-top:.5rem;flex-wrap:wrap;gap:.5rem}.character-count{font-weight:600;color:#6b7280;font-size:.85rem}.character-count.text-warning{color:#ea580c}.character-count.text-danger{color:#dc2626;font-weight:700}.helper-text{color:#6b7280;font-size:.85rem;text-align:right;flex:1;min-width:0}.form-actions{display:flex;align-items:center;gap:1rem;margin-top:3rem;padding-top:2rem;border-top:1px solid #E5E7EB;justify-content:center}.cancel-button,.submit-button{padding:.875rem 2rem;border-radius:12px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .3s ease;border:none;display:flex;align-items:center;gap:.5rem}.cancel-button{background:#fff;color:var(--primary);border:2px solid var(--primary)}.cancel-button:hover{background:var(--primary);color:#fff;transform:translateY(-1px)}.submit-button{background:linear-gradient(135deg,#f4a261,#f4d03f);color:var(--primary-dark);box-shadow:0 4px 16px #f4a2614d}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #f4a26166}.submit-button:disabled,.cancel-button:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.success-modal{background:#fff;padding:3rem;border-radius:24px;text-align:center;max-width:500px;width:100%;box-shadow:0 20px 60px #0003;animation:modalSlideIn .3s ease}.success-modal .success-icon{font-size:4rem;margin-bottom:1rem}.success-modal h2{color:var(--primary-dark);font-size:2rem;margin-bottom:1rem;font-family:Playfair Display,serif}.success-modal p{color:var(--medium-gray);font-size:1.1rem;margin-bottom:1.5rem}.chocolate-icon{font-size:2rem;animation:bounce 1s infinite}.redirect-message{color:#6b7280;font-size:.95rem;margin-top:1rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@media (max-width: 1023px){.star-button{font-size:2rem;min-width:44px;min-height:44px}}@media (max-width: 767px){.add-chocolate-page{padding:1rem 0}.page-header h1{font-size:2rem}.add-chocolate-form{padding:2rem 1.5rem;margin:0 1rem}.form-grid,.form-grid-three{grid-template-columns:1fr}.type-selector{grid-template-columns:repeat(2,1fr);gap:.5rem}.type-button{padding:.75rem .5rem;font-size:.9rem}.tag-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.tag-button{padding:.5rem .75rem;font-size:.8rem;border-radius:16px}.tag-button.selected:after{top:1px;right:4px;font-size:.6rem}.tag-selection{gap:.5rem}.tag-scroll-container{max-height:200px;overflow-y:auto;padding-right:.5rem;margin-bottom:.5rem}.tag-scroll-container::-webkit-scrollbar{width:4px}.tag-scroll-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:2px}.tag-scroll-container::-webkit-scrollbar-thumb{background:#888;border-radius:2px}.tag-expand-toggle,.selected-tags-summary{display:block}.tag-section-wrapper:not(.expanded) .tag-scroll-container{max-height:100px;overflow:hidden}.tag-section-wrapper.expanded .tag-scroll-container{max-height:300px;overflow-y:auto}.form-section:has(.tag-selection){padding:1.25rem}.star-button{font-size:1.75rem;min-width:36px;min-height:36px;padding:.15rem}.rating-input{gap:.3rem}.review-section-enhanced,.form-section{padding:1.5rem}.rating-group,.rating-input-container{padding:1rem}.textarea-footer{flex-direction:column;align-items:flex-start}.helper-text{text-align:left;margin-top:.25rem}.form-actions{flex-direction:column;gap:1rem}.cancel-button,.submit-button{width:100%;justify-content:center}}@media (max-width: 479px){.type-selector,.tag-grid{grid-template-columns:1fr}.type-button{padding:1rem;font-size:1rem}.type-button.selected:after{top:50%;transform:translateY(-50%);right:1rem}.tag-grid{grid-template-columns:repeat(3,1fr);gap:.4rem}.tag-button{padding:.4rem .3rem;font-size:.75rem;border-radius:12px;font-weight:600}.tag-button.selected:after{display:none}.tag-section-wrapper:not(.expanded) .tag-scroll-container{max-height:80px}.star-button{font-size:1.5rem;min-width:32px;min-height:32px;padding:.125rem}.rating-input{gap:.2rem}.success-modal{padding:2rem 1.5rem}.success-modal .success-icon{font-size:3rem}.success-modal h2{font-size:1.5rem}}@media (max-width: 374px){.rating-input{gap:.125rem;padding:.25rem}.star-button{font-size:1.4rem;min-width:28px;min-height:28px;padding:.1rem}}@media (max-height: 500px) and (orientation: landscape){.star-button{font-size:1.5rem;min-width:36px;min-height:36px;padding:.15rem}.rating-input{gap:.25rem}}@media (prefers-contrast: high){.star-button{border:2px solid transparent}.star-button.filled{border-color:#f4a261}.star-button:focus{border-color:#000;outline:2px solid #000}}@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important}}@media (prefers-color-scheme: dark){.star-button{color:#4b5563}.star-button:hover{background-color:#f4a26126}.star-button.filled{color:#f4a261}}:root{--header-height: 70px;--header-height-mobile: 60px;--touch-target: 44px;--header-bg: #FFFFFF;--header-text: #2D1810;--header-border: #E5E7EB;--search-bg: #F8F9FA;--accent-color: #F4A261;--primary-color: #6B4226}.header{background-color:var(--header-bg);color:var(--header-text);padding:0;width:100%;position:sticky;top:0;z-index:1000;box-shadow:0 2px 8px #00000014;border-bottom:1px solid var(--header-border);height:var(--header-height-mobile)}.header .container{display:flex;align-items:center;justify-content:space-between;height:100%;padding:0 1rem;gap:.5rem;position:relative;flex-wrap:nowrap}.logo{text-decoration:none;color:var(--header-text);display:flex;align-items:center;flex-shrink:0;padding:.25rem 0;min-width:0}.logo h1{margin:0;font-size:1.25rem;font-weight:800;letter-spacing:-.5px;font-family:Playfair Display,serif;color:var(--primary-color);white-space:nowrap}.search-section{display:flex;align-items:center;flex:1;justify-content:center;max-width:40px;margin:0 .25rem;position:relative}.search-toggle{background:none;border:none;padding:.375rem;border-radius:50%;color:var(--header-text);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;width:32px;height:32px;position:relative;z-index:10}.search-toggle:hover{background:#f4a2611a;color:var(--accent-color);transform:scale(1.05)}.search-toggle:active{transform:scale(.95);background:#f4a26133}.search-toggle.active{background:var(--accent-color);color:#fff;transform:scale(1);box-shadow:0 4px 16px #f4a2614d}.search-icon{transition:all .3s ease;width:16px;height:16px}.search-form-expandable{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);width:280px;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;border:1px solid var(--accent-color);display:none;align-items:center;overflow:hidden;opacity:0;visibility:hidden;transform:translate(-50%) translateY(-4px) scale(.98);transition:all .25s cubic-bezier(.4,0,.2,1);z-index:1001}.search-form-expandable.open{display:flex;opacity:1;visibility:visible;transform:translate(-50%) translateY(0) scale(1)}.search-input-expandable{flex:1;padding:.875rem 1rem;padding-right:50px;border:none;background:transparent;font-size:.95rem;color:var(--header-text);outline:none;font-weight:500}.search-input-expandable::placeholder{color:#9ca3af;font-weight:400}.search-submit-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:var(--accent-color);color:#fff;border:none;padding:.5rem;border-radius:8px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;width:32px;height:32px}.header-actions{display:flex;align-items:center;gap:.25rem;flex-shrink:0;min-width:0}.add-chocolate-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;background:#fff;color:#2d1810;text-decoration:none;padding:.5rem 1rem;border-radius:10px;font-weight:600;font-size:.9rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;border:2px solid #F4A261;box-shadow:0 2px 8px #f4a26133;white-space:nowrap}.add-chocolate-btn:hover{background:#f4a261;color:#fff;transform:translateY(-2px);box-shadow:0 4px 16px #f4a26166;border-color:#f4a261}.add-chocolate-btn:active{transform:translateY(-1px);box-shadow:0 2px 8px #f4a2614d}.add-chocolate-btn:focus{outline:none;box-shadow:0 0 0 3px #f4a2614d,0 4px 16px #f4a26166}.add-chocolate-btn svg{width:18px;height:18px;transition:transform .3s ease;flex-shrink:0;stroke-width:2.5}.add-chocolate-btn:hover svg{transform:rotate(90deg)}.add-chocolate-text{font-weight:600;letter-spacing:.02em}@media (max-width: 767px){.add-chocolate-btn{padding:.625rem;min-width:40px;min-height:40px;border-radius:50%}.add-chocolate-text{display:none}.add-chocolate-btn svg{width:20px;height:20px}}@media (min-width: 768px){.add-chocolate-btn{padding:.625rem 1.25rem}}.user-menu-container{position:relative}.user-menu-toggle{display:flex;align-items:center;gap:.125rem;background:none;border:none;cursor:pointer;padding:.125rem;border-radius:8px;transition:all .3s ease;color:var(--header-text);min-height:32px;max-width:32px}.user-menu-toggle:active{background-color:#0000000d;transform:scale(.95)}.user-avatar{width:24px;height:24px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,var(--accent-color) 0%,#F4D03F 100%);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001a;flex-shrink:0;border:2px solid rgba(255,255,255,.8)}.user-avatar img{width:100%;height:100%;object-fit:cover;object-position:center;border-radius:50%}.user-initials{color:var(--header-text);font-weight:700;font-size:.6rem;font-family:Inter,sans-serif}.user-name,.chevron{display:none}.nav-container{position:relative}.menu-toggle{width:32px;height:32px;min-width:32px;min-height:32px;padding:.375rem;background:none;border:none;cursor:pointer;border-radius:6px;transition:all .3s ease;display:flex;align-items:center;justify-content:center;position:relative}.menu-toggle:hover{background-color:#0000000d}.menu-toggle:active{background-color:#0000001a;transform:scale(.95)}.menu-icon{width:18px;height:14px;position:relative;display:flex;flex-direction:column;justify-content:space-between}.menu-icon span{display:block;height:2px;width:100%;background-color:var(--header-text);border-radius:1px;transition:all .3s cubic-bezier(.4,0,.2,1);position:absolute}.menu-icon span:nth-child(1){top:0}.menu-icon span:nth-child(2){top:6px}.menu-icon span:nth-child(3){top:12px}.menu-icon.open span:nth-child(1){top:6px;transform:rotate(45deg)}.menu-icon.open span:nth-child(2){opacity:0}.menu-icon.open span:nth-child(3){top:6px;transform:rotate(-45deg)}.auth-buttons{display:flex;align-items:center;gap:.5rem}.auth-btn{padding:.375rem .75rem;min-height:32px;font-size:.8rem;border-radius:6px;font-weight:600;text-decoration:none;transition:all .3s ease;display:flex;align-items:center;justify-content:center;white-space:nowrap}.auth-btn.primary-btn{background:linear-gradient(135deg,#f4a261,#f4d03f);color:#2d1810;border:2px solid transparent;box-shadow:0 2px 8px #f4a2614d}.auth-btn.primary-btn:active{transform:scale(.95);box-shadow:0 1px 4px #f4a26166}.user-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;border:1px solid var(--header-border);min-width:200px;opacity:0;visibility:hidden;transform:translateY(-4px) scale(.98);transition:all .25s cubic-bezier(.4,0,.2,1);z-index:1001;overflow:hidden}.user-dropdown.open{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.user-dropdown-item{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;color:var(--header-text);text-decoration:none;font-weight:500;font-size:.9rem;transition:all .3s ease;border:none;background:none;cursor:pointer;width:100%;text-align:left}.user-dropdown-item:hover{background-color:#f4a26114;color:var(--accent-color)}.user-dropdown-item.logout{border-top:1px solid var(--header-border);color:#dc2626}.user-dropdown-item.logout:hover{background-color:#dc262614;color:#b91c1c}.nav{position:absolute;top:calc(100% + 8px);right:0;background:#fff;border-radius:16px;box-shadow:0 12px 48px #00000026;border:1px solid var(--header-border);min-width:280px;max-width:90vw;padding:1.5rem;opacity:0;visibility:hidden;transform:translateY(-4px) scale(.98);transition:all .25s cubic-bezier(.4,0,.2,1);z-index:1001;overflow:hidden;display:none}.nav.open{opacity:1;visibility:visible;transform:translateY(0) scale(1);display:block}.nav-section{margin-bottom:1.5rem}.nav-section:last-child{margin-bottom:0}.nav-section h3{color:var(--primary-color);margin-bottom:.875rem;font-size:1rem;font-weight:700;padding-bottom:.5rem;border-bottom:1px solid var(--header-border);text-transform:uppercase;letter-spacing:.5px;font-family:Inter,sans-serif}.nav-section a{color:var(--header-text);text-decoration:none;display:block;padding:.75rem .5rem;transition:all .2s ease;font-size:.95rem;font-weight:500;border-radius:8px;min-height:var(--touch-target);display:flex;align-items:center;font-family:Inter,sans-serif}.nav-section a:hover{color:var(--accent-color);background-color:#f4a2611a;transform:translate(4px)}.nav-section a:active{background-color:#f4a26126;transform:translate(2px)}.nav-section a.active{color:var(--accent-color);background-color:#f4a2611f;font-weight:600}@media (min-width: 768px){.header{height:var(--header-height)}.header .container{gap:1rem;padding:0 1.5rem}.logo h1{font-size:1.75rem}.search-section{max-width:150px}.add-chocolate-text{display:inline}.add-chocolate-btn{padding:.5rem 1rem;gap:.5rem;min-width:auto}.user-name{display:block;max-width:100px;font-weight:600;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chevron{display:block;width:14px;height:14px;transition:transform .3s ease;color:#9ca3af}.chevron.open{transform:rotate(180deg)}.user-menu-toggle{gap:.5rem;max-width:140px;padding:.375rem}.user-avatar{width:32px;height:32px}.user-initials{font-size:.75rem}.menu-icon{width:22px;height:18px}.menu-toggle{width:40px;height:40px;min-width:40px;min-height:40px;padding:.5rem}.header-actions{gap:.75rem}}@media (min-width: 1024px){.header .container{gap:1.5rem;padding:0 2rem}.logo h1{font-size:2rem}.search-section{max-width:200px}.user-name{max-width:120px}.user-menu-toggle{max-width:160px}.header-actions{gap:1rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.header *:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}@supports (padding: max(0px)){.header .container{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right))}}@supports (-webkit-touch-callout: none){.header{position:-webkit-sticky;position:sticky}}.header{background-color:#fff!important;color:#2d1810!important;border-bottom:1px solid rgba(45,24,16,.08)!important;box-shadow:0 1px 3px #2d18100a!important;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.header .logo h1{color:#2d1810!important;font-weight:800!important;font-family:Playfair Display,serif!important}.header .logo:hover h1{color:#f4a261!important;transition:color .3s ease!important}.under-construction{display:inline-block;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#92400e;font-size:.7rem;font-weight:700;padding:.2rem .5rem;border-radius:8px;margin-left:.5rem;text-transform:uppercase;letter-spacing:.5px;border:1px solid #f59e0b;box-shadow:0 1px 3px #f59e0b4d;animation:pulse-glow 2s infinite}@keyframes pulse-glow{0%,to{box-shadow:0 1px 3px #f59e0b4d}50%{box-shadow:0 1px 8px #f59e0b80}}.nav a{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.25rem;color:var(--header-text);text-decoration:none;border-radius:8px;transition:all .3s ease;font-weight:500;font-size:.95rem;margin-bottom:.25rem}.nav a:hover{background:#f4a2611a;color:var(--accent-color);transform:translate(4px)}@media (max-width: 768px){.under-construction{font-size:.65rem;padding:.15rem .4rem;margin-left:.4rem}}.logo-image{height:32px;width:auto;object-fit:contain;transition:opacity .3s ease}.logo:hover .logo-image{opacity:.8}@media (min-width: 768px){.logo-image{height:40px}}@media (min-width: 1024px){.logo-image{height:45px}}.category-group{margin:1rem 0;padding-left:1rem}.category-label{font-size:.8rem;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;font-weight:600;display:block;margin-bottom:.5rem}.category-group a{display:block;color:#4b5563;font-size:.9rem;border-left:2px solid transparent;padding:.5rem 0 .5rem .5rem;margin-left:-.5rem;transition:all .3s ease}.category-group a:hover{color:#f4a261;border-left-color:#f4a261;background:#f4a2611a}.footer{background-color:var(--brown-dark);color:var(--text-light);padding:3rem 0 2rem;margin-top:0;position:relative}.footer-content{display:grid;grid-template-columns:1fr 3fr;gap:3rem;padding-bottom:2rem;margin-bottom:2rem;border-bottom:1px solid rgba(255,255,255,.1)}.footer-logo{display:flex;flex-direction:column}.logo-link{display:inline-block;margin-bottom:1rem}.logo-link h2{font-size:1.75rem;margin:0;color:var(--text-light);font-weight:700}.tagline{color:#ffffffb3;font-size:.95rem;margin-bottom:1.5rem}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.footer-links-column h3{font-size:1rem;font-weight:600;color:var(--accent);margin-bottom:1.25rem}.footer-links-column ul{list-style:none;padding:0;margin:0}.footer-links-column li{margin-bottom:.6rem}.footer-links-column a{color:#ffffffb3;text-decoration:none;font-size:.95rem;transition:all .2s ease;display:inline-flex;align-items:center}.footer-links-column a:hover{color:var(--text-light);padding-left:3px}.footer-bottom{display:flex;justify-content:space-between;align-items:center}.copyright{color:#fff9;font-size:.9rem;margin:0}.social-icons{display:flex;gap:1rem}.social-icon{width:32px;height:32px;border-radius:50%;background-color:#ffffff1a;display:flex;align-items:center;justify-content:center;transition:all .3s ease;color:var(--text-light);text-decoration:none}.social-icon:hover{background-color:var(--accent);transform:translateY(-3px)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.social-icon.instagram:before{content:"";width:16px;height:16px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z'/%3E%3C/svg%3E")}.social-icon.twitter:before{content:"";width:16px;height:16px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M23.953 4.57a10 10 0 01-2.825.775 4.958 4.958 0 002.163-2.723c-.951.555-2.005.959-3.127 1.184a4.92 4.92 0 00-8.384 4.482C7.69 8.095 4.067 6.13 1.64 3.162a4.822 4.822 0 00-.666 2.475c0 1.71.87 3.213 2.188 4.096a4.904 4.904 0 01-2.228-.616v.06a4.923 4.923 0 003.946 4.827 4.996 4.996 0 01-2.212.085 4.936 4.936 0 004.604 3.417 9.867 9.867 0 01-6.102 2.105c-.39 0-.779-.023-1.17-.067a13.995 13.995 0 007.557 2.209c9.053 0 13.998-7.496 13.998-13.985 0-.21 0-.42-.015-.63A9.935 9.935 0 0024 4.59z'/%3E%3C/svg%3E")}.social-icon.facebook:before{content:"";width:16px;height:16px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M9 8h-3v4h3v12h5v-12h3.642l.358-4h-4v-1.667c0-.955.192-1.333 1.115-1.333h2.885v-5h-3.808c-3.596 0-5.192 1.583-5.192 4.615v3.385z'/%3E%3C/svg%3E")}.footer-badge{display:inline-block;background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#92400e;font-size:.6rem;font-weight:700;padding:.15rem .4rem;border-radius:6px;margin-left:.4rem;text-transform:uppercase;letter-spacing:.3px;border:1px solid #f59e0b;vertical-align:middle}.footer-links a:hover .footer-badge{background:linear-gradient(135deg,#f4a261,#f4d03f);color:#2d1810;border-color:#f4a261}@media (max-width: 992px){.footer-content{grid-template-columns:1fr 2fr}}@media (max-width: 768px){.footer{padding:1.5rem 0 1rem}.footer-content{grid-template-columns:1fr;gap:1.5rem;padding-bottom:1rem;margin-bottom:1rem}.footer-logo{text-align:center}.logo-link{margin-bottom:.5rem}.logo-link h2{font-size:1.4rem}.tagline{font-size:.85rem;margin-bottom:0}.footer-links{grid-template-columns:repeat(2,1fr);gap:1rem}.footer-links-column h3{font-size:.9rem;margin-bottom:.75rem}.footer-links-column li{margin-bottom:.4rem}.footer-links-column a{font-size:.85rem}.footer-bottom{flex-direction:column;gap:.75rem;text-align:center}.copyright{font-size:.8rem}.social-icons{gap:.75rem;justify-content:center}.social-icon{width:28px;height:28px}.footer-badge{display:none}}@media (max-width: 480px){.footer{padding:1rem 0 .75rem}.footer-content{gap:1rem;padding-bottom:.75rem;margin-bottom:.75rem}.footer-links{grid-template-columns:1fr;gap:.75rem}.footer-links-column h3{font-size:.85rem;margin-bottom:.5rem}.footer-links-column li{margin-bottom:.3rem}.footer-links-column a{font-size:.8rem}.logo-link h2{font-size:1.2rem}.tagline{font-size:.8rem}.copyright{font-size:.75rem}.social-icon{width:24px;height:24px}.social-icon.instagram:before,.social-icon.twitter:before,.social-icon.facebook:before{width:14px;height:14px}}.footer{background-color:var(--brand-cream)!important;color:var(--text-primary)!important}.footer h2,.footer h3,.footer .logo-link h2{color:var(--brand-copper)!important}.footer .tagline{color:var(--text-secondary)!important;opacity:.8}.footer a{color:var(--text-primary)!important;transition:color .3s ease}.footer a:hover{color:var(--brand-copper)!important;padding-left:3px}.footer-links-column h3{color:var(--brand-copper)!important;font-weight:600}.footer .copyright{color:var(--text-secondary)!important;opacity:.7}.footer .social-icon{background-color:#a73a041a!important;color:var(--brand-copper)!important;border:1px solid rgba(167,58,4,.2)}.footer .social-icon:hover{background-color:var(--brand-copper)!important;color:#fff!important;transform:translateY(-3px)}.footer-content{border-bottom:1px solid rgba(167,58,4,.2)!important}.batch-upload-page{padding:2rem 0}.page-description{color:var(--primary);margin-bottom:2rem}.chocolates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem}.chocolate-upload-card{background-color:#fff;border-radius:8px;padding:1rem;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column}.chocolate-info{margin-bottom:1rem}.chocolate-info h3{margin:0 0 .3rem;font-size:1.1rem}.chocolate-info p{margin:0;color:#666;font-size:.9rem}.chocolate-image-container{height:150px;border:1px solid #eee;border-radius:4px;overflow:hidden;margin-bottom:1rem;display:flex;align-items:center;justify-content:center}.chocolate-image{max-width:100%;max-height:100%;object-fit:contain}.no-image-placeholder{color:#999;font-style:italic;font-size:.9rem}.upload-controls{display:flex;align-items:center;gap:.8rem}.upload-button{background-color:var(--primary);color:#fff;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .2s}.upload-button:hover{background-color:var(--primary-dark)}.upload-button.disabled{background-color:#ccc;cursor:not-allowed}.status-text{font-size:.9rem}.status-text.uploading{color:#666;font-style:italic}.status-text.success{color:#4caf50}.status-text.error{color:#f44336}.admin-page{padding:2rem 0;min-height:100vh}.admin-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.admin-header h1{margin:0;color:var(--primary-dark)}.back-link{color:var(--primary);text-decoration:none;display:flex;align-items:center}.back-link:hover{text-decoration:underline}.admin-section{background-color:var(--text-light);border-radius:8px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 2px 4px #0000001a}.admin-section h2{margin-top:0;margin-bottom:1.5rem;color:var(--primary-dark);border-bottom:2px solid var(--primary-light);padding-bottom:.5rem}.admin-actions{display:flex;flex-direction:column;gap:1rem}.admin-button{background-color:var(--primary);color:#fff;padding:10px 16px;border:none;border-radius:4px;cursor:pointer;font-weight:700;transition:background-color .2s;align-self:flex-start}.admin-button:hover{background-color:var(--primary-dark)}.admin-button:disabled{background-color:#ccc;cursor:not-allowed}.admin-button.primary{background-color:var(--primary-dark)}.admin-button.primary:hover{background-color:#2a1703}.message{padding:1rem;border-radius:4px;background-color:#f8f9fa;border-left:4px solid var(--primary);margin:1rem 0}.admin-form{display:grid;grid-template-columns:1fr;gap:1.5rem}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:.5rem;font-weight:500;color:var(--primary-dark)}.form-group input,.form-group select,.form-group textarea{padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #6a422633}@media (min-width: 768px){.admin-form{grid-template-columns:repeat(2,1fr)}.form-group.full-width{grid-column:span 2}.form-group:nth-child(5),.form-group:nth-child(6),.form-group:nth-child(7){grid-column:span 2}}.admin-help{margin-top:1.5rem;padding:1.5rem;background-color:#f9f9f9;border-left:4px solid var(--primary-light);border-radius:4px}.admin-help p{font-weight:500;margin-bottom:.8rem}.admin-help ol{padding-left:1.5rem}.admin-help li{margin-bottom:.5rem}.admin-section+.admin-section{margin-top:2.5rem}.admin-section h2{display:flex;align-items:center}.admin-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin:1.5rem 0}.admin-button{white-space:normal;height:auto;min-height:44px;padding:.75rem 1rem;line-height:1.3;text-align:center}.admin-button.primary{background-color:var(--primary-dark);font-weight:600}.field-helper{font-size:.85rem;color:#666;margin-top:.3rem;margin-bottom:0}.message{margin:1rem 0;padding:1rem 1.5rem;border-radius:4px;background-color:#f0f0f0;border-left:4px solid var(--primary)}.admin-links{display:flex;gap:1rem}.admin-link,.back-link{display:inline-flex;align-items:center;padding:.5rem 1rem;border-radius:4px;text-decoration:none;transition:all .2s ease}.admin-link{background-color:var(--primary);color:#fff}.admin-link:hover{background-color:var(--primary-dark)}.back-link{background-color:transparent;color:var(--primary);border:1px solid var(--primary)}.back-link:hover{background-color:#6a42260d}@media (max-width: 768px){.admin-actions{grid-template-columns:1fr}.admin-header{flex-direction:column;gap:1rem;align-items:flex-start}.admin-links{width:100%}}.about-page{padding-bottom:3rem}.about-header{text-align:center;padding:3rem 0;background-color:var(--background)}.about-header h1{font-size:2.8rem;color:var(--primary-dark);margin-bottom:.5rem}.about-story{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin:3rem 0;align-items:center}.story-content h2{color:var(--primary-dark);font-size:2rem;margin-bottom:1.5rem;position:relative}.story-content h2:after{content:"";position:absolute;left:0;bottom:-10px;width:60px;height:3px;background-color:var(--accent)}.story-content p{font-size:1.1rem;line-height:1.8;color:var(--text-dark)}.story-image{height:400px;border-radius:12px;overflow:hidden}.mission-section{position:relative;padding:4rem 0;margin:5rem 0;background-image:url(https://images.unsplash.com/photo-1511381939415-e44015466834?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=2072&q=80);background-size:cover;background-position:center;border-radius:12px;color:var(--text-light)}.mission-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#3a1f04bf;border-radius:12px}.mission-content{position:relative;z-index:2;max-width:800px;margin:0 auto;text-align:center;padding:0 2rem}.mission-content h2{color:var(--text-light);font-size:2.2rem;margin-bottom:1.5rem}.mission-statement{font-size:1.8rem;font-weight:700;margin-bottom:1.5rem}.mission-description{font-size:1.1rem;line-height:1.8}.values-section{margin:5rem 0;text-align:center}.values-section h2{color:var(--primary-dark);font-size:2.2rem;margin-bottom:3rem}.values-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem}.value-card{background-color:#fff;padding:2rem;border-radius:12px;box-shadow:0 5px 15px #0000000d;transition:all .3s ease}.value-card:hover{transform:translateY(-10px);box-shadow:0 15px 30px #0000001a}.value-icon{width:70px;height:70px;margin:0 auto 1.5rem;border-radius:50%;background-color:var(--primary-light);display:flex;align-items:center;justify-content:center;position:relative}.value-icon:before{content:"";position:absolute;width:35px;height:35px;background-size:contain;background-repeat:no-repeat;background-position:center}.value-icon.quality:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%233A1F04'%3E%3Cpath d='M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z'/%3E%3C/svg%3E")}.value-icon.community:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%233A1F04'%3E%3Cpath d='M16 11c1.66 0 2.99-1.34 2.99-3S17.66 5 16 5c-1.66 0-3 1.34-3 3s1.34 3 3 3zm-8 0c1.66 0 2.99-1.34 2.99-3S9.66 5 8 5C6.34 5 5 6.34 5 8s1.34 3 3 3zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5c0-2.33-4.67-3.5-7-3.5zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5z'/%3E%3C/svg%3E")}.value-icon.discovery:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%233A1F04'%3E%3Cpath d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm-5.5-2.5l7.51-3.49L17.5 6.5 9.99 9.99 6.5 17.5zm5.5-6.6c.61 0 1.1.49 1.1 1.1s-.49 1.1-1.1 1.1-1.1-.49-1.1-1.1.49-1.1 1.1-1.1z'/%3E%3C/svg%3E")}.value-icon.education:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%233A1F04'%3E%3Cpath d='M12 3L1 9l4 2.18v6L12 21l7-3.82v-6l2-1.09V17h2V9L12 3zm6.82 6L12 12.72 5.18 9 12 5.28 18.82 9zM17 15.99l-5 2.73-5-2.73v-3.72L12 15l5-2.73v3.72z'/%3E%3C/svg%3E")}.value-card h3{font-size:1.3rem;color:var(--primary-dark);margin-bottom:1rem}.value-card p{color:var(--text-dark);line-height:1.6}.team-section{margin:5rem 0;text-align:center}.team-section h2{color:var(--primary-dark);font-size:2.2rem;margin-bottom:1.5rem}.team-intro{max-width:700px;margin:0 auto 3rem;font-size:1.1rem;line-height:1.6}.team-placeholder{height:300px;background-color:#f5f5f5;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#999;font-style:italic;background-image:linear-gradient(45deg,#f3e5d8,#e8d0b8)}.join-section{text-align:center;padding:4rem 2rem;background-color:var(--background);border-radius:12px;margin:5rem 0 2rem}.join-section h2{color:var(--primary-dark);font-size:2.2rem;margin-bottom:1.5rem}.join-section p{max-width:800px;margin:0 auto 2rem;font-size:1.1rem;line-height:1.6}.cta-buttons{display:flex;gap:1.5rem;justify-content:center}.cta-button{padding:.8rem 2rem;border-radius:30px;font-weight:600;font-size:1.1rem;text-decoration:none;transition:all .3s ease}.cta-button.primary{background-color:var(--accent);color:var(--primary-dark)}.cta-button.primary:hover{background-color:#e5b77d;transform:translateY(-3px)}.cta-button.secondary{background-color:transparent;color:var(--primary);border:2px solid var(--primary)}.cta-button.secondary:hover{background-color:#6a42261a;transform:translateY(-3px)}@media (max-width: 768px){.about-story{grid-template-columns:1fr}.story-image{height:300px;order:-1}.cta-buttons{flex-direction:column;max-width:300px;margin:0 auto}}.contact-page{padding-bottom:3rem}.contact-header{text-align:center;padding:3rem 0;background-color:var(--background)}.contact-header h1{font-size:2.8rem;color:var(--primary-dark);margin-bottom:.5rem}.tagline{font-size:1.3rem;color:var(--primary);font-style:italic}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin:3rem 0}.contact-info{display:flex;flex-direction:column;gap:2rem}.contact-section h2{color:var(--primary-dark);font-size:2rem;margin-bottom:1rem}.contact-section h3{color:var(--primary);font-size:1.3rem;margin-bottom:1rem}.contact-section p{font-size:1.1rem;line-height:1.6;color:var(--text-dark);margin-bottom:1rem}.social-links{display:flex;flex-direction:column;gap:1rem;margin-top:1rem}.social-link{display:flex;align-items:center;text-decoration:none;color:var(--text-dark);font-size:1.1rem;transition:color .3s ease}.social-link:hover{color:var(--primary)}.social-icon{width:30px;height:30px;margin-right:1rem;background-size:contain;background-repeat:no-repeat;background-position:center}.social-icon.instagram{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%236B4226'%3E%3Cpath d='M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z'/%3E%3C/svg%3E")}.social-icon.facebook{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%236B4226'%3E%3Cpath d='M9 8h-3v4h3v12h5v-12h3.642l.358-4h-4v-1.667c0-.955.192-1.333 1.115-1.333h2.885v-5h-3.808c-3.596 0-5.192 1.583-5.192 4.615v3.385z'/%3E%3C/svg%3E")}.email-address{font-weight:600;font-size:1.2rem;margin-bottom:.5rem}.email-note{font-style:italic;color:#666;font-size:.9rem}.contact-image{margin-top:1rem;height:200px;border-radius:12px;overflow:hidden}.image-placeholder{width:100%;height:100%;background-color:#eee;display:flex;align-items:center;justify-content:center;font-style:italic;color:#999;border-radius:12px;background-image:linear-gradient(45deg,#f3e5d8,#e8d0b8)}.contact-form-container{background-color:#fff;padding:2rem;border-radius:12px;box-shadow:0 5px 15px #0000000d}.contact-form-container h2{color:var(--primary-dark);font-size:2rem;margin-bottom:1.5rem}.success-message{background-color:#e6f7e9;color:#2e7d32;padding:1rem;border-radius:8px;margin-bottom:1.5rem;text-align:center}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--primary)}.form-group input,.form-group textarea{width:100%;padding:.8rem;border:1px solid #ddd;border-radius:8px;font-size:1rem;transition:border-color .3s ease;background-color:#fff;color:#333}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 2px #6a42261a}.form-group textarea{resize:vertical;min-height:120px;font-family:inherit;line-height:1.5}.submit-button{background-color:var(--primary);color:#fff;border:none;border-radius:8px;padding:.8rem 2rem;font-size:1.1rem;font-weight:600;cursor:pointer;transition:background-color .3s ease}.submit-button:hover:not(:disabled){background-color:var(--primary-dark)}.submit-button:disabled{background-color:#ccc;cursor:not-allowed}.faq-section{margin:5rem 0 2rem}.faq-section h2{text-align:center;color:var(--primary-dark);font-size:2rem;margin-bottom:2rem}.faq-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem}.faq-item{background-color:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 5px 15px #0000000d;transition:transform .3s ease,box-shadow .3s ease}.faq-item:hover{transform:translateY(-5px);box-shadow:0 10px 25px #0000001a}.faq-item h3{color:var(--primary-dark);font-size:1.2rem;margin-bottom:.8rem}.faq-item p{color:var(--text-dark);line-height:1.5}@media (max-width: 992px){.contact-content{grid-template-columns:1fr}.contact-info{order:2}.contact-form-container{order:1}.faq-grid{grid-template-columns:1fr}}.legal-page{padding-bottom:3rem}.legal-header{text-align:center;padding:3rem 0;background-color:var(--background)}.legal-header h1{font-size:2.8rem;color:var(--primary-dark);margin-bottom:.5rem}.last-updated{font-size:1rem;color:#666;font-style:italic}.legal-content{max-width:900px;margin:2rem auto;background-color:#fff;padding:2rem;border-radius:12px;box-shadow:0 5px 15px #0000000d}.legal-section{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid #eee}.legal-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.intro-text{font-size:1.1rem;line-height:1.8;color:var(--primary);margin-bottom:2rem}.legal-section h2{color:var(--primary-dark);font-size:1.8rem;margin-bottom:1.2rem}.legal-section h3{color:var(--primary);font-size:1.3rem;margin:1.5rem 0 1rem}.legal-section p{margin-bottom:1rem;line-height:1.7}.legal-section ul{padding-left:2rem;margin-bottom:1.5rem}.legal-section li{margin-bottom:.5rem;line-height:1.6}.contact-info{background-color:#f8f8f8;padding:1rem;border-radius:8px;margin-top:1rem;display:inline-block}.privacy-policy .legal-section h2,.terms-of-service .legal-section h2{position:relative;padding-bottom:.5rem}.privacy-policy .legal-section h2:after{content:"";position:absolute;left:0;bottom:0;width:50px;height:3px;background-color:var(--accent)}@media print{.legal-content{box-shadow:none;padding:0}.legal-header{padding:1rem 0}.legal-section{page-break-inside:avoid}}@media (max-width: 768px){.legal-content{padding:1.5rem}.legal-header h1{font-size:2rem}.legal-section h2{font-size:1.5rem}.legal-section h3{font-size:1.2rem}}.super-admin-edit-page{min-height:100vh;background:linear-gradient(135deg,#f5f7fa,#e9ecef);padding:2rem 0}.super-admin-edit-page .container{max-width:900px;margin:0 auto;padding:0 1rem}.admin-header{background:#fff;border-radius:12px;padding:2rem;margin-bottom:2rem;box-shadow:0 2px 8px #0000001a;text-align:center}.admin-header h1{color:#2d3748;margin-bottom:.5rem;font-size:2rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.admin-header p{color:#718096;font-size:1.125rem;margin-bottom:1rem}.admin-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:6px 16px;border-radius:20px;font-size:.875rem;display:inline-block;font-weight:600;box-shadow:0 2px 4px #667eea4d}.edit-form{background:#fff;border-radius:12px;padding:0;box-shadow:0 2px 8px #0000001a}.form-section{padding:2rem;border-bottom:1px solid #e2e8f0}.form-section:last-of-type{border-bottom:none}.form-section h2{color:#2d3748;font-size:1.5rem;margin-bottom:1.5rem;font-weight:600}.form-section h3{color:#4a5568;font-size:1.125rem;margin-bottom:1rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;color:#4a5568;font-weight:500;margin-bottom:.5rem;font-size:.95rem}.form-group input[type=text],.form-group input[type=number],.form-group textarea{width:100%;padding:.75rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:all .3s ease;background:#f7fafc}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 3px #667eea1a}.form-group textarea{resize:vertical;min-height:100px;font-family:inherit}.current-image{margin-bottom:2rem}.current-image p{color:#4a5568;font-weight:500;margin-bottom:1rem}.current-image img{border-radius:8px;box-shadow:0 2px 8px #0000001a;max-width:100%;height:auto}.new-image-upload{padding:1.5rem;background:#f7fafc;border-radius:8px;border:2px dashed #cbd5e0}.new-image-upload p{color:#4a5568;margin-bottom:1rem;font-weight:500}.image-selected{color:#48bb78;font-weight:500;margin-top:1rem;display:flex;align-items:center;gap:.5rem}.metadata{background:#f7fafc}.metadata h2{color:#718096}.metadata-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.metadata-grid>div{padding:.75rem;background:#fff;border-radius:6px;border:1px solid #e2e8f0}.metadata-grid strong{color:#4a5568;font-weight:600;margin-right:.5rem}.danger-zone{border:2px solid #fc8181!important;border-radius:8px;padding:2rem!important;margin-top:2rem;background:#fff5f5!important}.danger-zone h2{color:#e53e3e;display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.danger-zone p{color:#742a2a;margin-bottom:1rem;line-height:1.6}.delete-confirmation{margin-top:1.5rem;padding:1.5rem;background:#fff;border-radius:8px;border:1px solid #fc8181}.delete-confirmation input[type=text]{width:100%;padding:.75rem;margin:.5rem 0 1rem;border:2px solid #fc8181;border-radius:6px;font-size:1rem}.delete-confirmation input[type=text]:focus{outline:none;box-shadow:0 0 0 3px #fc818133}.form-actions{padding:2rem;background:#f7fafc;border-top:1px solid #e2e8f0;display:flex;justify-content:space-between;gap:1rem;border-radius:0 0 12px 12px}.cancel-button,.save-button{padding:.875rem 2rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:150px}.cancel-button{background:#e2e8f0;color:#4a5568}.cancel-button:hover{background:#cbd5e0;transform:translateY(-1px)}.save-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 2px 8px #667eea4d}.save-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.save-button:disabled,.cancel-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.danger-zone button{font-weight:600;transition:all .3s ease}.danger-zone button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.loading,.error{text-align:center;padding:4rem 2rem;color:#4a5568;font-size:1.125rem}.error{color:#e53e3e}@media (max-width: 768px){.super-admin-edit-page{padding:1rem 0}.admin-header{padding:1.5rem}.admin-header h1{font-size:1.5rem}.form-section{padding:1.5rem}.metadata-grid{grid-template-columns:1fr}.form-actions{flex-direction:column}.cancel-button,.save-button{width:100%}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.form-section{animation:fadeIn .3s ease}.success-message{background:#c6f6d5;color:#22543d;padding:1rem;border-radius:8px;margin-bottom:1rem;border:1px solid #9ae6b4;display:flex;align-items:center;gap:.5rem}.warning-message{background:#fed7aa;color:#7c2d12;padding:1rem;border-radius:8px;margin-bottom:1rem;border:1px solid #fdba74}*:focus-visible{outline:2px solid #667eea;outline-offset:2px}.reviews-management{background:#f7fafc}.reviews-management h2{color:#2d3748;display:flex;align-items:center;gap:.5rem}.reviews-list{max-height:600px;overflow-y:auto;padding:1rem 0}.review-item-admin{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:1.25rem;margin-bottom:1rem;transition:all .3s ease}.review-item-admin:hover{box-shadow:0 2px 8px #0000001a}.review-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid #e2e8f0}.review-user-info{display:flex;flex-direction:column;gap:.25rem}.review-user-info strong{color:#2d3748;font-size:1rem}.review-date{color:#718096;font-size:.875rem}.review-rating{display:flex;align-items:center;gap:.5rem}.rating-number{color:#4a5568;font-weight:600}.review-text{color:#4a5568;line-height:1.6;margin-bottom:1rem;padding:.75rem;background:#f7fafc;border-radius:6px;font-size:.95rem}.review-actions{display:flex;align-items:center;gap:1rem}.delete-review-btn{transition:all .3s ease}.delete-review-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 2px 4px #dc35454d}.delete-review-btn:disabled{opacity:.6;cursor:not-allowed}.review-flag{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;background:#fff5f5;border-radius:4px;border:1px solid #fc8181}.reviews-list::-webkit-scrollbar{width:6px}.reviews-list::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.reviews-list::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:3px}.reviews-list::-webkit-scrollbar-thumb:hover{background:#a0aec0}:root{--brand-copper: #A73A04;--brand-sage: #6C6C4E;--brand-cream: #DFD3C0;--brand-blue-gray: #788390;--brand-taupe: #B09169;--primary-color: var(--brand-copper);--primary-hover: #8B2F03;--primary-light: #C44A15;--secondary-color: var(--brand-sage);--secondary-hover: #5A5A42;--secondary-light: #87876B;--text-primary: #2C2C2C;--text-secondary: var(--brand-blue-gray);--text-muted: #999999;--text-light: #FFFFFF;--background-primary: #FFFFFF;--background-secondary: var(--brand-cream);--background-accent: #F8F6F3;--background-dark: var(--brand-sage);--accent-color: var(--brand-copper);--accent-warm: var(--brand-taupe);--accent-cool: var(--brand-blue-gray);--border-light: #E5E1DC;--border-medium: var(--brand-cream);--border-dark: var(--brand-blue-gray);--header-bg: var(--background-primary);--header-text: var(--text-primary);--header-accent: var(--brand-copper);--btn-primary-bg: var(--brand-copper);--btn-primary-text: var(--text-light);--btn-primary-hover: var(--primary-hover);--btn-secondary-bg: var(--brand-sage);--btn-secondary-text: var(--text-light);--btn-secondary-hover: var(--secondary-hover);--btn-outline-border: var(--brand-copper);--btn-outline-text: var(--brand-copper);--btn-outline-hover-bg: var(--brand-copper);--card-bg: var(--background-primary);--card-border: var(--border-light);--card-shadow: rgba(167, 58, 4, .1);--input-border: var(--border-medium);--input-focus: var(--brand-copper);--input-bg: var(--background-primary);--success-color: #059669;--warning-color: #D97706;--error-color: #DC2626;--info-color: var(--brand-blue-gray);--primary-dark: var(--brand-sage);--primary: var(--brand-copper);--primary-light: var(--brand-taupe);--accent: var(--brand-copper);--background: var(--background-primary);--text-dark: var(--text-primary);--chocolate-primary: var(--text-primary);--chocolate-secondary: var(--brand-taupe);--chocolate-light: var(--brand-copper);--chocolate-soft: var(--brand-cream);--gold-accent: var(--brand-copper);--sage-accent: var(--brand-sage);--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--border-radius-sm: 4px;--border-radius-md: 8px;--border-radius-lg: 12px;--border-radius-xl: 16px;--shadow-sm: 0 1px 2px 0 rgba(167, 58, 4, .05);--shadow-md: 0 4px 6px -1px rgba(167, 58, 4, .1), 0 2px 4px -1px rgba(167, 58, 4, .06);--shadow-lg: 0 10px 15px -3px rgba(167, 58, 4, .1), 0 4px 6px -2px rgba(167, 58, 4, .05);--shadow-xl: 0 20px 25px -5px rgba(167, 58, 4, .1), 0 10px 10px -5px rgba(167, 58, 4, .04)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;margin:0;padding:0;overflow-x:hidden}body{font-family:Poppins,Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;color:var(--text-primary);background-color:var(--background-primary);padding-top:0!important;margin-top:0!important}.app{display:flex;flex-direction:column;min-height:100vh;width:100%}.main-content{flex:1;display:flex;flex-direction:column;width:100%;padding-top:0;margin-top:0}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem}.browse-page,.search-results-page,.chocolate-detail-page,.profile-page,.admin-page{width:100%;display:flex;flex-direction:column;align-items:center;padding-top:1rem}.hero-section{height:85vh;min-height:600px;background-image:linear-gradient(135deg,#a73a04d9,#6c6c4ebf,#788390d9),url(https://images.unsplash.com/photo-1511381939415-e44015466834?ixlib=rb-4.0.3&ixid=MnwxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8&auto=format&fit=crop&w=2072&q=80);background-size:cover;background-position:center;position:relative;display:flex;align-items:center;color:var(--text-light);margin-top:0;width:100%}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 1.5rem;border:none;border-radius:var(--border-radius-md);font-family:Poppins,sans-serif;font-weight:600;font-size:.95rem;text-decoration:none;cursor:pointer;transition:all .3s ease;gap:.5rem}.btn-primary{background-color:var(--btn-primary-bg);color:var(--btn-primary-text);box-shadow:var(--shadow-md)}.btn-primary:hover{background-color:var(--btn-primary-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-secondary{background-color:var(--btn-secondary-bg);color:var(--btn-secondary-text);box-shadow:var(--shadow-md)}.btn-secondary:hover{background-color:var(--btn-secondary-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-outline{background-color:transparent;color:var(--btn-outline-text);border:2px solid var(--btn-outline-border)}.btn-outline:hover{background-color:var(--btn-outline-hover-bg);color:var(--text-light);transform:translateY(-2px)}.chocolate-grid,.results-grid,.favorites-grid,.featured-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem;width:100%}.card{background-color:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-sm);transition:all .3s ease;overflow:hidden}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.section-title{color:var(--text-primary);margin-bottom:1rem}.section-subtitle{color:var(--text-secondary);margin-bottom:2rem}.form-input,.search-input{width:100%;padding:.75rem 1rem;border:2px solid var(--input-border);border-radius:var(--border-radius-md);background-color:var(--input-bg);color:var(--text-primary);font-family:Merriweather,serif;transition:border-color .3s ease}.form-input:focus,.search-input:focus{outline:none;border-color:var(--input-focus);box-shadow:0 0 0 3px #a73a041a}.error,.loading{width:100%;text-align:center;padding:3rem 1rem;color:var(--text-secondary)}h1,h2,h3,h4,h5,h6{font-family:Poppins,sans-serif;font-weight:700;line-height:1.2;color:var(--text-primary)}p,li,a,button,input,textarea,span{font-family:Merriweather,serif}a{color:var(--primary-color);transition:color .3s ease}a:hover{color:var(--primary-hover)}img{max-width:100%;height:auto}.footer{width:100%;background-color:var(--background-dark);color:var(--text-light);margin-top:auto}.success-message{background-color:var(--success-color);color:#fff;padding:1rem;border-radius:var(--border-radius-md);margin-bottom:1rem}.error-message{background-color:var(--error-color);color:#fff;padding:1rem;border-radius:var(--border-radius-md);margin-bottom:1rem}.warning-message{background-color:var(--warning-color);color:#fff;padding:1rem;border-radius:var(--border-radius-md);margin-bottom:1rem}.info-message{background-color:var(--info-color);color:#fff;padding:1rem;border-radius:var(--border-radius-md);margin-bottom:1rem}
