:root{--bg:#fdfbf9;--surface:#fff;--text:#2d2a26;--text-muted:#6b6560;--accent:#c4a77d;--accent-soft:#e8dfd0;--pastel-pink:#f5e6e8;--pastel-mint:#e8f0ed;--pastel-cream:#f9f5f0;--border:#ebe6e0;--radius:16px;--radius-sm:12px;--shadow:0 2px 12px rgba(45,42,38,.06);--shadow-hover:0 8px 24px rgba(45,42,38,.08);--font-sans:"DM Sans",system-ui,-apple-system,sans-serif;--font-serif:"Cormorant Garamond","Georgia",serif}*,:after,:before{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}button{font-family:inherit;cursor:pointer}.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}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}@media (min-width:768px){.container{padding:0 24px}}a.hero-cta{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:14px 32px;box-sizing:border-box;background:#c4a77d;color:#fff;font-weight:700;font-size:1.05rem;line-height:1.2;border-radius:9999px;border:2px solid #a88b5c;box-shadow:0 4px 0 #a88b5c,0 6px 20px rgba(45,42,38,.2);text-decoration:none;transition:transform .2s,box-shadow .2s,opacity .2s}a.hero-cta:hover{transform:translateY(-2px);box-shadow:0 6px 0 #a88b5c,0 8px 24px rgba(45,42,38,.25)}a.hero-cta:active{transform:translateY(1px);box-shadow:0 2px 0 #a88b5c,0 4px 12px rgba(45,42,38,.2)}a.hero-cta:focus-visible{outline:3px solid #2d2a26;outline-offset:3px}a.filter-pill{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:14px 24px;box-sizing:border-box;background:#fff;border-radius:9999px;border:2px solid #b8a99a;box-shadow:0 2px 0 #b8a99a,0 4px 12px rgba(45,42,38,.1);font-size:.95rem;font-weight:700;line-height:1.2;color:#2d2a26;text-decoration:none;white-space:nowrap;transition:border-color .2s,box-shadow .2s,background .2s,transform .15s}a.filter-pill:hover{border-color:#c4a77d;background:#e8dfd0;box-shadow:0 3px 0 #a88b5c,0 6px 16px rgba(45,42,38,.12);transform:translateY(-2px)}a.filter-pill:focus-visible{outline:3px solid #c4a77d;outline-offset:2px}a.filter-pill--active{background:#c4a77d;border-color:#a88b5c;color:#fff;font-weight:700;box-shadow:0 3px 0 #a88b5c,0 6px 16px rgba(45,42,38,.15)}a.filter-pill--active:hover{background:#b39868;border-color:#967a4d;box-shadow:0 3px 0 #967a4d,0 6px 16px rgba(45,42,38,.18)}.popular-section{padding:0 0 48px}.popular-section .popular-title{font-family:var(--font-serif);font-size:clamp(1.35rem,3.5vw,1.75rem);font-weight:600;margin:0 0 20px;color:var(--text)}.popular-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:20px;gap:20px}@media (min-width:600px){.popular-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:900px){.popular-grid{grid-template-columns:repeat(4,1fr)}}.catalog-page{padding:32px 0 48px}.catalog-title{font-family:var(--font-serif);font-size:clamp(1.5rem,4vw,2rem);font-weight:600;margin:0 0 24px;color:var(--text)}.catalog-grid{display:grid;grid-template-columns:1fr;grid-gap:20px;gap:20px}@media (min-width:600px){.catalog-grid{grid-template-columns:repeat(2,1fr);gap:24px}}@media (min-width:900px){.catalog-grid{grid-template-columns:repeat(3,1fr);gap:28px}}.product-page{padding:24px 0 48px}.product-page .breadcrumb{font-size:.85rem;color:var(--text-muted);margin-bottom:20px}.product-page .breadcrumb a:hover{color:var(--accent)}.product-page .sep{margin:0 6px}.product-layout{max-width:1000px}.product-grid{display:grid;grid-gap:32px;gap:32px}.product-gallery-wrap{width:100%;max-width:480px;margin:0 auto}.product-info{width:100%}.product-title{font-family:var(--font-serif);font-size:clamp(1.5rem,4vw,2rem);font-weight:600;margin:0 0 12px;color:var(--text)}.product-desc{font-size:1rem;color:var(--text-muted);line-height:1.6;margin:0 0 20px}.product-composition{padding:16px;background:var(--pastel-cream);border-radius:var(--radius-sm);margin-bottom:8px}.composition-heading{font-size:.9rem;font-weight:600;color:var(--text-muted);margin:0 0 6px}.composition-text{font-size:.95rem;color:var(--text);margin:0;line-height:1.5}@media (min-width:768px){.product-grid{grid-template-columns:1fr 1fr;gap:40px;align-items:start}.product-gallery-wrap{margin:0}}.not-found{min-height:60vh;display:flex;align-items:center;justify-content:center;padding:24px}.not-found-title{font-family:var(--font-serif);font-size:3rem;font-weight:600;color:var(--text);margin:0 0 8px}.not-found-text{font-size:1rem;color:var(--text-muted);margin:0 0 24px}.not-found-link{display:inline-block;padding:12px 24px;background:var(--accent);color:#fff;font-weight:600;font-size:.95rem;border-radius:var(--radius);transition:opacity .2s}.not-found-link:hover{opacity:.9}.partner-page{padding:24px 0 48px;max-width:560px;margin:0 auto}.partner-title{font-family:var(--font-serif);font-size:clamp(1.5rem,4vw,2rem);font-weight:600;margin:0 0 8px;color:var(--text)}.partner-subline{font-size:.95rem;color:var(--text-muted);margin:0 0 24px;line-height:1.5}.partner-form{gap:16px}.partner-form,.partner-form label{display:flex;flex-direction:column}.partner-form label{gap:4px;font-size:.9rem;font-weight:500;color:var(--text)}.partner-form input,.partner-form select,.partner-form textarea{padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-sm);font-family:inherit;font-size:1rem;background:var(--surface);color:var(--text)}.partner-form input:focus,.partner-form select:focus,.partner-form textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.partner-form textarea{min-height:80px;resize:vertical}.partner-submit{margin-top:8px;padding:14px 24px;background:var(--accent);color:#fff;font-weight:600;font-size:1rem;border:none;border-radius:var(--radius);cursor:pointer;transition:opacity .2s}.partner-submit:hover{opacity:.9}.partner-submit:disabled{opacity:.6;cursor:not-allowed}.partner-error{font-size:.9rem;color:#b91c1c;margin:0 0 8px}.partner-success-box{background:var(--pastel-mint);border-radius:var(--radius);padding:24px;margin-bottom:24px}.partner-success-title{font-family:var(--font-serif);font-size:1.35rem;font-weight:600;margin:0 0 12px;color:var(--text)}.partner-success-message{font-size:.95rem;color:var(--text-muted);line-height:1.6;margin:0 0 16px}.partner-dashboard-link{display:inline-block;font-size:.9rem;color:var(--accent);font-weight:500;word-break:break-all}.partner-dashboard-link:hover{text-decoration:underline}.partner-dashboard-header{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}.partner-dashboard-actions{margin-bottom:24px}.partner-dashboard-list{display:flex;flex-direction:column;gap:12px}.partner-bouquet-card{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px;background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--border)}.partner-bouquet-card a{font-weight:500;color:var(--text)}.partner-bouquet-card a:hover{color:var(--accent)}.partner-bouquet-status{font-size:.85rem;color:var(--text-muted)}.partner-empty{padding:32px;text-align:center;background:var(--pastel-cream);border-radius:var(--radius);color:var(--text-muted)}.partner-bouquet-form-grid{display:flex;flex-direction:column;gap:20px}.partner-bouquet-form-grid .partner-form label{gap:6px}.partner-file-hint{font-size:.85rem;color:var(--text-muted);margin-top:2px}.partner-sizes-row{display:grid;grid-template-columns:1fr 1fr 1fr auto auto auto;grid-gap:8px;gap:8px;align-items:end;font-size:.85rem}.partner-sizes-row label{margin:0}@media (max-width:640px){.partner-sizes-row{grid-template-columns:1fr 1fr}}.partner-add-size{margin-top:8px;padding:8px 16px;background:var(--pastel-cream);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:.9rem;cursor:pointer}.partner-add-size:hover{background:var(--accent-soft)}