@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400&display=swap";:root{--bg:#f8f4ff;--bg-soft:#f3eeff;--surface:#fff;--text:#1a1625;--muted:#6b6280;--primary:#7c3aed;--primary-dark:#6d28d9;--primary-light:#ede9fe;--accent:#f472b6;--accent-soft:#fce7f3;--border:#e9e4f5;--danger:#e11d48;--success:#059669;--shadow:0 12px 40px #7c3aed1a;--shadow-hover:0 16px 48px #7c3aed29;--radius:1rem;--radius-pill:999px;color:var(--text);background:var(--bg);font-family:Plus Jakarta Sans,system-ui,sans-serif;line-height:1.5}*{box-sizing:border-box}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}body{min-height:100vh;margin:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(1120px,100% - 2rem);margin:0 auto}.navbar{z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#f8f4ffe6;position:sticky;top:0}.navbar-inner{justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 0;display:flex}.brand{letter-spacing:-.02em;font-size:1.35rem;font-weight:800}.brand span{color:var(--primary)}.nav-links{flex-wrap:wrap;align-items:center;gap:.35rem 1rem;display:flex}.nav-links a{border-radius:.5rem;padding:.35rem .5rem;font-weight:500;transition:color .15s,background .15s}.nav-links a:hover{color:var(--primary)}.nav-links a.active{color:var(--primary);background:var(--primary-light);font-weight:700}.nav-user{color:var(--muted);font-size:.88rem}.nav-cart{align-items:center;gap:.35rem;display:inline-flex}.cart-badge{color:#fff;background:var(--accent);border-radius:var(--radius-pill);justify-content:center;align-items:center;min-width:1.25rem;height:1.25rem;padding:0 .35rem;font-size:.7rem;font-weight:700;display:inline-flex}.btn,.btn-link{cursor:pointer;font:inherit;border:none}.btn{border-radius:var(--radius-pill);background:linear-gradient(135deg, var(--primary) 0%, #9333ea 100%);color:#fff;justify-content:center;align-items:center;gap:.35rem;padding:.75rem 1.35rem;font-weight:600;transition:transform .15s,box-shadow .2s,background .2s;display:inline-flex;box-shadow:0 4px 14px #7c3aed59}.btn:hover{background:linear-gradient(135deg, var(--primary-dark) 0%, #7e22ce 100%);box-shadow:0 6px 20px #7c3aed66}.btn:active{transform:scale(.98)}.btn-sm{padding:.5rem 1rem;font-size:.9rem}.btn-block{width:100%}.btn-secondary{background:var(--surface);color:var(--primary);border:2px solid var(--border);box-shadow:none}.btn-secondary:hover{background:var(--primary-light);border-color:var(--primary);box-shadow:none}.btn-link{color:var(--primary);box-shadow:none;background:0 0;padding:0;font-weight:600}.btn-link:hover{color:var(--primary-dark)}.btn-link.danger{color:var(--danger)}.hero{background:linear-gradient(145deg, #ede9fe 0%, var(--bg) 45%, #fce7f3 100%);padding:3rem 0 3.5rem;position:relative;overflow:hidden}.hero:before{content:"";aspect-ratio:1;pointer-events:none;background:radial-gradient(circle,#f472b640 0%,#0000 70%);width:50%;max-width:420px;position:absolute;top:-40%;right:-10%}.hero-grid{grid-template-columns:1fr 1fr;align-items:center;gap:2.5rem;display:grid;position:relative}.hero-content{max-width:520px}.pill-badge{color:var(--primary-dark);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-pill);box-shadow:var(--shadow);margin-bottom:1rem;padding:.4rem .85rem;font-size:.8rem;font-weight:700;display:inline-block}.eyebrow{text-transform:uppercase;letter-spacing:.1em;color:var(--accent);font-size:.72rem;font-weight:700}.hero h1,.section h1,.section h2{letter-spacing:-.03em;font-weight:800;line-height:1.1}.hero h1{margin:0 0 1rem;font-size:clamp(2rem,5vw,3.25rem)}.hero-text{color:var(--muted);max-width:42ch;margin-bottom:1.5rem;font-size:1.08rem}.hero-actions{flex-wrap:wrap;gap:.75rem;display:flex}.hero-visual{justify-content:center;align-items:center;display:flex;position:relative}.hero-visual-frame{border:3px solid var(--surface);width:100%;max-width:400px;box-shadow:var(--shadow-hover);border-radius:1.5rem;position:relative;overflow:hidden;transform:rotate(2deg)}.hero-visual-frame img{aspect-ratio:4/5;object-fit:cover;width:100%}.hero-visual-blob{background:linear-gradient(135deg, var(--primary-light), var(--accent-soft));z-index:-1;filter:blur(40px);opacity:.7;border-radius:50%;position:absolute;inset:-20%}.perks-strip{background:var(--surface);border-block:1px solid var(--border);padding:1.25rem 0}.perks-list{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:1rem 2rem;margin:0;padding:0;font-size:.92rem;font-weight:600;list-style:none;display:flex}.perks-list li{align-items:center;gap:.4rem;display:flex}.perks-list span{color:var(--primary)}.section{padding:3rem 0 4rem}.section-header{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1.5rem;display:flex}.section-header h1,.section-header h2{margin:0}.section-header p{color:var(--muted);margin:.35rem 0 0;font-weight:500}.section-header a{color:var(--primary);white-space:nowrap;font-weight:700}.section-header a:hover{text-decoration:underline}.vibes-section{padding-top:0}.category-filter{flex-wrap:wrap;gap:.5rem;margin-bottom:1.75rem;display:flex}.category-chip{color:var(--muted);background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-pill);align-items:center;padding:.45rem .9rem;font-size:.88rem;font-weight:600;transition:color .15s,background .15s,border-color .15s;display:inline-flex}.category-chip:hover{color:var(--primary);border-color:var(--primary-light)}.category-chip.is-active{color:var(--primary-dark);background:var(--primary-light);border-color:var(--primary)}.category-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem;display:grid}.category-card{border-radius:var(--radius);border:2px solid var(--border);background:var(--surface);text-align:center;box-shadow:var(--shadow);padding:1rem 1.1rem;font-size:.95rem;font-weight:700;transition:transform .2s,border-color .2s,box-shadow .2s}.category-card:hover{border-color:var(--primary);box-shadow:var(--shadow-hover);transform:translateY(-3px)}.product-category{color:var(--accent);margin:0 0 .35rem;font-size:.78rem;font-weight:600;line-height:1.3}.product-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.5rem;display:grid}.product-card{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s,border-color .2s;overflow:hidden}.product-card:hover{border-color:var(--primary-light);box-shadow:var(--shadow-hover);transform:translateY(-4px)}.product-image-wrap{aspect-ratio:4/3;position:relative;overflow:hidden}.product-image-wrap img{object-fit:cover;width:100%;height:100%;transition:transform .35s}.product-card:hover .product-image-wrap img{transform:scale(1.06)}.product-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:var(--radius-pill);z-index:1;padding:.25rem .6rem;font-size:.7rem;font-weight:700;position:absolute;top:.65rem;left:.65rem}.product-badge-featured{color:var(--primary-dark);background:var(--primary-light)}.product-badge-low{color:#9d174d;background:var(--accent-soft)}.product-card-body{padding:1rem 1.1rem 1.15rem}.product-card h3{margin:0 0 .35rem;font-size:1.05rem;font-weight:700}.product-card-preview .product-image-wrap{cursor:default}.price{color:var(--primary);font-size:1.05rem;font-weight:800}.price-lg{font-size:1.5rem}.product-detail{grid-template-columns:1fr 1fr;align-items:start;gap:2rem;display:grid}.product-detail-info h1{margin:0 0 .5rem;font-size:clamp(1.75rem,4vw,2.25rem)}.product-description{white-space:pre-wrap;overflow-wrap:break-word}.product-gallery{flex-direction:column;gap:1rem;display:flex}.product-gallery-main{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.product-gallery-featured{aspect-ratio:4/3;object-fit:cover;width:100%;transition:opacity .2s;display:block}.product-gallery-thumbs{flex-wrap:wrap;gap:.65rem;display:flex}.product-gallery-thumb-wrap{position:relative}.product-gallery-thumb{border:2px solid var(--border);background:var(--surface);cursor:pointer;border-radius:.65rem;padding:0;transition:border-color .2s,box-shadow .2s;display:block;overflow:hidden}.product-gallery-thumb:hover,.product-gallery-thumb.is-active{border-color:var(--primary);box-shadow:var(--shadow)}.product-gallery-thumb img{object-fit:cover;width:72px;height:72px;display:block}.product-gallery-zoom{z-index:20;background:var(--surface);border:2px solid var(--border);box-shadow:var(--shadow-hover);pointer-events:none;border-radius:.75rem;padding:.35rem;position:absolute;bottom:calc(100% + .75rem);left:50%;transform:translate(-50%)}.product-gallery-zoom:after{content:"";border:8px solid #0000;border-top-color:var(--surface);position:absolute;bottom:-8px;left:50%;transform:translate(-50%)}.product-gallery-zoom img{object-fit:contain;border-radius:.5rem;width:min(360px,70vw);max-height:420px;display:block}.back-link{color:var(--muted);margin-bottom:.75rem;font-weight:600;display:inline-block}.back-link:hover{color:var(--primary)}.stock{color:var(--muted);font-weight:500}.enquire-email-link{color:var(--primary);background:var(--surface);border:2px solid var(--border);border-radius:var(--radius-pill);justify-content:center;align-items:center;margin-top:.5rem;padding:.65rem 1.1rem;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.enquire-email-link:hover{background:var(--primary-light);border-color:var(--primary)}.quantity-row{align-items:center;gap:.75rem;margin:1rem 0;display:flex}input,textarea,select{border:2px solid var(--border);width:100%;font:inherit;background:var(--surface);border-radius:.75rem;padding:.7rem .85rem;transition:border-color .15s,box-shadow .15s}input:focus,textarea:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light);outline:none}label{gap:.35rem;margin-bottom:1rem;font-weight:600;display:grid}.cart-table{gap:1rem;margin:1.5rem 0;display:grid}.cart-row{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);grid-template-columns:80px 1fr 100px 100px auto;align-items:center;gap:1rem;padding:1rem;display:grid}.cart-row img{object-fit:cover;border-radius:.65rem;width:80px;height:80px}.cart-summary{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.checkout-layout{grid-template-columns:1.2fr .8fr;align-items:start;gap:2rem;display:grid}.auth-container{justify-content:center;display:flex}.auth-card{background:var(--surface);border:2px solid var(--border);width:min(440px,100%);box-shadow:var(--shadow);border-radius:1.25rem;padding:2rem}.auth-footer{text-align:center;color:var(--muted);margin-top:1rem}.checkout-summary{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.5rem}.checkout-summary ul{color:var(--muted);padding-left:1.2rem}.empty-state{text-align:center;padding:2rem 0}.contact-page h1{margin-top:0}.contact-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:2rem;display:grid}.contact-card{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:1.25rem}.contact-card h3{color:var(--primary);margin:0 0 .5rem;font-size:1rem}.contact-card p{color:var(--muted);margin:0;font-weight:500}.footer{border-top:1px solid var(--border);background:var(--bg-soft);margin-top:2rem;padding:2rem 0}.footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.footer-brand{color:var(--text);margin:0 0 .25rem;font-weight:800}.footer-tagline{color:var(--muted);margin:0;font-size:.95rem}.footer-social{color:var(--primary);gap:1rem;font-weight:600;display:flex}.footer-social a:hover{color:var(--accent)}.error{color:var(--danger);font-weight:500}.success{color:var(--success);font-weight:500}.form-hint{color:var(--muted);margin-top:.5rem;font-size:.85rem}.admin-panel{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1.5rem;padding:1.5rem}.admin-panel h2{margin:0 0 1rem;font-size:1.2rem}.admin-form-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 1rem;display:grid}.admin-checkboxes{flex-wrap:wrap;gap:1rem;margin:.5rem 0 1rem;display:flex}.admin-checkbox{align-items:center;gap:.5rem;margin-bottom:0;font-weight:500;display:inline-flex}.admin-checkbox input{width:auto}.admin-table-wrap{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;font-size:.95rem}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:middle;padding:.85rem 1rem}.admin-table th{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-weight:700}.admin-table tbody tr:last-child td{border-bottom:none}.admin-table input[type=text]{min-width:120px}.admin-actions{white-space:nowrap;flex-wrap:wrap;gap:.75rem;display:flex}.admin-hint code{background:var(--primary-light);border-radius:.25rem;padding:.15rem .4rem;font-size:.85em}.admin-subnav{gap:1.25rem;margin-bottom:1.25rem;font-weight:700;display:flex}.admin-subnav a{color:var(--muted)}.admin-subnav a:hover,.admin-subnav-active{color:var(--primary)}.admin-form-actions{align-items:center;gap:1rem;margin-top:.5rem;display:flex}.admin-product-thumb{object-fit:cover;border:2px solid var(--border);border-radius:.5rem;width:48px;height:48px}.admin-upload{border:2px dashed var(--border);border-radius:var(--radius);background:var(--bg-soft);margin:0 0 1rem;padding:1rem}.admin-upload-field{margin-bottom:.75rem}.admin-upload input[type=file]{background:var(--surface);padding:.6rem;font-weight:400}.admin-upload .admin-form-actions{flex-wrap:wrap;margin-top:0}.admin-image-strip{flex-wrap:wrap;gap:.75rem;margin-bottom:1rem;display:flex}.admin-image-item{border:2px solid var(--border);background:var(--surface);border-radius:.75rem;width:132px;overflow:hidden}.admin-image-thumb{object-fit:cover;background:var(--bg-soft);width:100%;height:96px;display:block}.admin-image-actions{flex-direction:column;align-items:flex-start;gap:.4rem;padding:.5rem;display:flex}.admin-image-actions .btn-link{text-align:left;font-size:.8rem}.admin-table tr.is-editing td{background:var(--primary-light)}.admin-panel textarea{resize:vertical;min-height:4rem}.admin-orders-list{gap:1rem;display:grid}.admin-order-card{background:var(--surface);border:2px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.admin-order-summary{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;grid-template-columns:1fr auto;align-items:center;gap:.5rem 1rem;padding:1rem 1.15rem;display:grid}.admin-order-summary:hover{background:var(--primary-light)}.admin-order-summary-main{flex-wrap:wrap;align-items:baseline;gap:.5rem 1rem;display:flex}.admin-order-id{color:var(--primary-dark);font-weight:800}.admin-order-date{color:var(--muted);font-size:.88rem}.admin-order-summary-meta{flex-wrap:wrap;grid-column:1/-1;gap:.35rem 1.25rem;font-size:.92rem;display:flex}.admin-order-email{color:var(--muted)}.admin-order-toggle{color:var(--muted);font-size:.75rem}.admin-order-detail{border-top:1px solid var(--border);padding:0 1.15rem 1.15rem}.admin-order-fields{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin:1rem 0;display:grid}.admin-order-fields dt{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:.25rem;font-size:.75rem;font-weight:700}.admin-order-fields dd{margin:0;font-weight:500}.admin-order-field-full{grid-column:1/-1}.admin-order-address{white-space:pre-wrap}.admin-order-items-title{margin:0 0 .75rem;font-size:1rem}.admin-table tfoot td{border-bottom:none;font-weight:600}.admin-order-total-label{text-align:right}@media (width<=768px){.hero-grid{text-align:center;grid-template-columns:1fr}.hero-content{max-width:none}.hero-text{margin-left:auto;margin-right:auto}.hero-actions{justify-content:center}.hero-visual{order:-1}.hero-visual-frame{max-width:280px;transform:none}.category-grid,.product-detail,.checkout-layout{grid-template-columns:1fr}.cart-row{grid-template-columns:64px 1fr}.cart-row img{width:64px;height:64px}.product-gallery-zoom img{width:min(280px,85vw);max-height:320px}.admin-image-item{flex:120px;width:auto}.footer-inner{text-align:center;flex-direction:column}}
