:root{--maroon:#7A2E3B;--coral:#E8724C;--cream:#FBF6E7;--gold:#B08A3E;--text:#3A2A2A;--line:#eee2c6}*{box-sizing:border-box}body{margin:0;font-family:Montserrat, sans-serif;background:var(--cream);color:var(--text)}h1,h2,h3{font-family:'Playfair Display',Georgia,serif;color:var(--maroon)}a{text-decoration:none;color:inherit}.customer-header{background:var(--maroon);color:#fff;padding:18px 5vw;display:flex;align-items:center;justify-content:space-between;gap:20px}.customer-header .brand{font:700 1.4rem 'Playfair Display',serif}.customer-header nav{display:flex;gap:18px;align-items:center;font-size:.9rem}.customer-header nav a:hover{color:#ffd2bc}.page-shell{max-width:1120px;margin:0 auto;padding:52px 24px}.eyebrow{color:var(--coral);font-size:.74rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.page-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px}.page-heading h1{margin:5px 0}.muted{color:#8a7f6d;font-size:.9rem}.form-panel,.result-panel{background:#fffdf8;border:1px solid var(--line);border-radius:8px;padding:28px;box-shadow:0 12px 28px rgba(58,42,42,.08)}.form-panel{max-width:520px;margin:30px auto}.form-group{margin-bottom:16px}.form-group label{display:block;font-weight:600;font-size:.82rem;margin-bottom:6px}.form-control{width:100%;padding:12px;border:1px solid #e6ddc8;border-radius:7px;background:#fff;color:var(--text);font:inherit}.form-control:focus{outline:2px solid rgba(232,114,76,.25);border-color:var(--coral)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:7px;background:var(--coral);color:#fff;padding:12px 18px;font-weight:700;cursor:pointer}.btn:hover{background:#d9613b}.btn-dark{background:var(--maroon)}.btn-light{background:#fff7e8;color:var(--maroon)}.wide{width:100%}.message{min-height:20px;color:var(--coral);font-size:.85rem;margin:12px 0}.auth-links{text-align:center;font-size:.85rem;color:#8a7f6d}.auth-links a{color:var(--coral);font-weight:700}.product-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.product-card{background:#fff;border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:0 8px 18px rgba(58,42,42,.07)}.product-card img{width:100%;height:190px;object-fit:cover}.product-info{padding:14px}.product-info h3{font-size:1rem;margin:0 0 6px}.product-info p{font-size:.82rem;color:#8a7f6d;min-height:38px}.price{font-weight:700;color:var(--coral);margin-bottom:12px}.product-actions{display:flex;gap:8px}.product-actions .btn{flex:1;padding:9px 8px;font-size:.78rem}.empty{text-align:center;padding:50px 20px;color:#8a7f6d}.cart-row{display:grid;grid-template-columns:80px 1fr auto auto;gap:16px;align-items:center;border-bottom:1px solid var(--line);padding:16px 0}.cart-row img{width:80px;height:80px;object-fit:cover;border-radius:7px}.qty{display:flex;align-items:center;gap:8px}.qty button{border:1px solid var(--line);background:#fff7e8;border-radius:50%;width:28px;height:28px;cursor:pointer}.total-row{display:flex;justify-content:space-between;font-weight:700;color:var(--maroon);padding-top:20px}.user-pill{font-size:.78rem;color:#ffd2bc}@media(max-width:800px){.product-grid{grid-template-columns:repeat(2,1fr)}.customer-header{align-items:flex-start;flex-direction:column}.customer-header nav{flex-wrap:wrap}.cart-row{grid-template-columns:60px 1fr}.cart-row>.qty,.cart-row>.price{grid-column:2}.cart-row img{width:60px;height:60px}}@media(max-width:480px){.product-grid{grid-template-columns:1fr}.page-shell{padding:32px 16px}}
.rating-stars{display:flex;align-items:center;gap:2px;margin:.35rem 0 .7rem}.rating-star{border:0;background:transparent;color:#c9b99a;padding:2px;cursor:pointer;line-height:1;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .15s ease,color .2s ease}.rating-star.is-filled{color:var(--gold)}.rating-star:active{transform:scale(.85)}.rating-stars small{color:#8a7f6d;font-size:.72rem;margin-left:5px}
.favorite-button{position:relative;z-index:2;pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:transparent;transition:transform .15s ease}.favorite-button:active{transform:scale(.9)}.favorite-button i.fa-solid{color:var(--coral)}
@media (hover:hover) and (pointer:fine){.rating-star:hover{color:var(--gold);transform:scale(1.15)}.favorite-button:hover{transform:scale(1.1)}}
@keyframes heartPop{0%{transform:scale(1)}35%{transform:scale(1.3)}100%{transform:scale(1)}}
@keyframes starPop{0%{transform:scale(1)}40%{transform:scale(1.4) rotate(-8deg)}100%{transform:scale(1)}}
.favorite-button.pop{animation:heartPop .4s ease}.rating-star.pop{animation:starPop .35s ease}
.customer-language{display:flex;gap:3px;margin-left:auto}.customer-language .lang-btn{border:1px solid rgba(255,255,255,.45);background:transparent;color:#fff;padding:4px 7px;border-radius:4px;font-size:.7rem;cursor:pointer;touch-action:manipulation}.customer-language .lang-btn.active{background:var(--coral)}
