:root {
  --mava-wine: #5A1F2D;
  --mava-wine-2: #7A2337;
  --mava-rose: #D0889D;
  --mava-pink: #F7D6E1;
  --mava-gold: #D4B48C;
  --mava-ink: #1D1D1D;
  --mava-paper: #fffafc;
  --radius: 8px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Montserrat, Arial, sans-serif;
  color: var(--mava-ink);
  background: var(--mava-paper);
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline:3px solid var(--mava-gold); outline-offset:3px; }
.serif { font-family: "Playfair Display", Georgia, serif; }
.container { width: min(1180px, calc(100% - 32px)); margin: 0 auto; }
.topbar { background: var(--mava-wine); color: white; text-align: center; padding: 8px 12px; font-size: 13px; }
.header { position: sticky; top: 0; z-index: 20; background: rgba(255, 250, 252, .94); border-bottom: 1px solid #f0d9df; backdrop-filter: blur(12px); }
.nav { min-height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.brand { color: var(--mava-wine); line-height: 1; font-weight: 700; letter-spacing: .08em; }
.brand strong { font-size: 30px; font-family: "Playfair Display", Georgia, serif; }
.brand span { display: block; font-size: 10px; letter-spacing: .28em; }
.navlinks { display: flex; gap: 18px; align-items: center; font-size: 14px; }
.menu-toggle { display:none; width:42px; height:42px; border:1px solid #e3c8d1; border-radius:8px; background:#fff; color:var(--mava-wine); cursor:pointer; }
.menu-toggle span { display:block; width:19px; height:2px; margin:4px auto; background:currentColor; transition:transform .2s ease; }
.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 42px; padding: 0 18px; border: 1px solid var(--mava-wine-2); border-radius: var(--radius); background: var(--mava-wine-2); color: white; font-weight: 700; cursor: pointer; }
.btn.secondary { background: transparent; color: var(--mava-wine-2); }
.hero { min-height: 72vh; display: grid; align-items: center; background: linear-gradient(90deg, rgba(90,31,45,.46) 0%, rgba(90,31,45,.14) 44%, rgba(255,255,255,.15) 72%), url("/images/mava-hero-waves.png") center/cover; color: white; }
.hero-brand { font-size: clamp(72px, 12vw, 168px); line-height: .78; margin: 0; max-width: 800px; letter-spacing: 0; text-shadow: 0 5px 22px rgba(88,14,26,.22); }
.hero-subbrand { margin: 16px 0 24px !important; font-size: clamp(17px, 2vw, 28px) !important; font-weight: 800; letter-spacing: .24em; }
.hero p { max-width: 620px; font-size: 18px; line-height: 1.7; }
.hero-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:26px; }
.hero-shop-button { background:rgba(255,255,255,.92); border-color:white; color:var(--mava-wine); }
.hero-shop-button:hover { background:white; }
.benefits { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; background: #ead0d8; }
.benefit { background: white; padding: 18px; text-align: center; color: var(--mava-wine); font-weight: 700; }
.section { padding: 72px 0; }
.section.soft { background: var(--mava-pink); }
.section-title { color: var(--mava-wine); font-size: clamp(32px, 4vw, 54px); margin: 0 0 26px; }
.grid { display: grid; gap: 18px; }
.grid.services { grid-template-columns: repeat(5, 1fr); }
.grid.products { grid-template-columns: repeat(4, 1fr); }
.academy-section { background:#fff5f7; border-top:1px solid #f0dce2; border-bottom:1px solid #f0dce2; }
.academy-heading { display:grid; grid-template-columns:minmax(0, 1.35fr) minmax(280px, .65fr); align-items:stretch; gap:40px; }
.academy-copy { padding:18px 0 32px; }
.academy-heading .section-title { margin:7px 0 14px; font-size:clamp(46px, 6vw, 82px); line-height:.94; }
.academy-heading .academy-copy > p:last-child { margin:0; max-width:590px; color:#765d65; line-height:1.75; }
.academy-kicker { color:var(--mava-wine-2) !important; font-size:11px; font-weight:800; letter-spacing:.16em; line-height:1; }
.academy-contact-panel { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:30px; border-left:2px solid var(--mava-wine); background:var(--mava-wine); color:white; }
.academy-contact-panel > span { color:#f2bfce; font-size:10px; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.academy-contact-panel strong { margin:13px 0 10px; font-family:"Playfair Display", Georgia, serif; font-size:29px; line-height:1.05; }
.academy-contact-panel p { margin:0 0 22px; color:#f8dce5; font-size:13px; line-height:1.6; }
.academy-contact-panel .btn { border-color:white; background:white; color:var(--mava-wine); }
.academy-division { display:grid; grid-template-columns:repeat(3, 1fr); border-top:1px solid #e9cbd4; border-bottom:1px solid #e9cbd4; margin-bottom:32px; }
.academy-division span { padding:15px 18px; color:var(--mava-wine); font-size:11px; font-weight:800; letter-spacing:.08em; text-align:center; text-transform:uppercase; }
.academy-division span + span { border-left:1px solid #e9cbd4; }
.grid.courses { grid-template-columns:repeat(3, minmax(0, 1fr)); }
.course-card { display:flex; flex-direction:column; min-width:0; border-color:#ead5dc; box-shadow:0 5px 16px rgba(90,31,45,.04); transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease; }
.course-card:hover { transform:translateY(-7px); border-color:#c98ea1; box-shadow:0 20px 38px rgba(90,31,45,.15); }
.course-image-wrap { position:relative; overflow:hidden; aspect-ratio:5/4; background:#f1cbd5; }
.course-image-wrap:after { content:''; position:absolute; inset:0; background:linear-gradient(180deg, transparent 55%, rgba(48,12,23,.25)); pointer-events:none; }
.course-image-wrap img, .course-image-placeholder { width:100%; height:100%; object-fit:cover; transition:transform .65s ease; }
.course-card:hover .course-image-wrap img { transform:scale(1.07); }
.course-badge { position:absolute; z-index:1; left:14px; bottom:14px; padding:6px 8px; border-radius:0; background:rgba(255,255,255,.94); color:var(--mava-wine); font-size:10px; font-weight:800; letter-spacing:.07em; }
.course-card .card-body { display:flex; flex:1; flex-direction:column; padding:21px; }
.course-card h3 { margin:0 0 8px; color:var(--mava-wine); font-size:21px; }
.course-card p { color:#765d65; line-height:1.55; }
.course-description { margin:11px 0 0; font-size:13px; }
.course-meta { color:var(--mava-wine-2) !important; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.07em; }
.course-facts { display:flex; flex-wrap:wrap; gap:7px; margin:0 0 10px; }
.course-facts span { padding:5px 7px; border:1px solid var(--mava-gold); color:var(--mava-wine); font-size:10px; font-weight:800; }
.course-footer { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:auto; padding-top:21px; border-top:1px solid #f0dde3; }
.course-footer .btn { min-height:38px; padding:0 12px; font-size:12px; }
.course-image-placeholder { display:grid; place-items:center; background:#d0889d; color:white; font-family:"Playfair Display", Georgia, serif; font-size:26px; }
.academy-empty { grid-column:1/-1; padding:32px; border:1px dashed #c998a8; border-radius:8px; background:rgba(255,255,255,.58); color:var(--mava-wine); }
.academy-empty p { color:#765d65; }
.academy-home { background:var(--mava-pink); border-top:1px solid var(--mava-rose); border-bottom:1px solid var(--mava-rose); }
.academy-home-head { display:flex; align-items:end; justify-content:space-between; gap:28px; margin-bottom:32px; }.academy-home-head .section-title { margin:7px 0 12px; }.academy-home-head p { max-width:560px; margin:0; color:#765d65; line-height:1.65; }.academy-home-head .btn { flex:0 0 auto; }
.academy-home-courses { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.academy-home-card { overflow:hidden; border:1px solid #e8c5d0; border-radius:8px; background:#fff; box-shadow:0 8px 18px rgba(90,31,45,.07); transition:transform .28s ease,box-shadow .28s ease; }.academy-home-card:hover { transform:translateY(-7px); box-shadow:0 20px 34px rgba(90,31,45,.16); }
.academy-home-visual { position:relative; display:block; aspect-ratio:4/3; overflow:hidden; background:var(--mava-wine); }.academy-home-visual>img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }.academy-home-card:hover .academy-home-visual>img { transform:scale(1.06); }.academy-home-visual>span { position:absolute; z-index:1; left:14px; bottom:14px; padding:6px 8px; background:#fff; color:var(--mava-wine); font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.academy-card-art { position:relative; display:flex; height:100%; flex-direction:column; justify-content:flex-end; padding:24px; overflow:hidden; background:var(--mava-wine); color:#fff; }.academy-card-art:before { content:''; position:absolute; inset:16px; border:1px solid var(--mava-gold); }.academy-card-art:after { content:''; position:absolute; top:-70px; right:-55px; width:210px; height:210px; border:1px solid var(--mava-rose); transform:rotate(45deg); }.academy-card-art span,.academy-card-art small { position:relative; z-index:1; }.academy-card-art span { color:var(--mava-gold); font-size:48px; line-height:1; }.academy-card-art small { margin-top:9px; color:var(--mava-pink); font-size:10px; font-weight:800; letter-spacing:.13em; }
.academy-home-card-body { padding:20px; }.academy-home-card-body h3 { margin:0 0 9px; color:var(--mava-wine); font-size:25px; }.academy-home-card-body>p { min-height:42px; margin:0; color:#765d65; font-size:13px; line-height:1.6; }.academy-card-meta { display:flex; align-items:center; justify-content:space-between; gap:8px; margin:18px 0 14px; padding-top:13px; border-top:1px solid var(--mava-pink); }.academy-card-meta small { color:var(--mava-wine); font-size:11px; font-weight:800; }.academy-card-meta strong { color:var(--mava-wine-2); }.academy-home-card-body .btn { width:100%; }
.academy-subnav { background:var(--mava-pink); border-bottom:1px solid var(--mava-rose); }
.academy-subnav .container { display:flex; justify-content:center; gap:28px; overflow-x:auto; padding:12px 0; }
.academy-subnav a { flex:0 0 auto; color:var(--mava-wine); font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.academy-subnav a:hover { color:var(--mava-wine-2); }
.academy-page { overflow:hidden; }
.academy-hero-full { background:var(--mava-pink); padding:70px 0; }
.academy-hero-grid { display:grid; grid-template-columns:1fr .82fr; align-items:center; gap:56px; }
.academy-hero-grid h1 { max-width:620px; margin:10px 0 18px; color:var(--mava-wine); font-size:clamp(48px,6vw,78px); line-height:.96; }
.academy-hero-grid h1 em,.academy-section-head em,.academy-feature h2 em,.academy-testimonials h2 em { color:var(--mava-wine-2); font-style:normal; }
.academy-hero-grid p { max-width:550px; color:var(--mava-ink); line-height:1.7; }
.academy-hero-actions { display:flex; flex-wrap:wrap; gap:10px; margin:26px 0; }
.student-badge { display:inline-flex; align-items:center; gap:8px; padding:10px 14px; border:1px solid var(--mava-gold); background:#fff; color:var(--mava-wine); font-size:12px; }
.student-badge strong { color:var(--mava-wine-2); font-size:18px; }
.academy-hero-art { position:relative; display:grid; min-height:420px; place-items:center; border:1px solid var(--mava-gold); background:var(--mava-wine); color:#fff; box-shadow:0 18px 35px rgba(90,31,45,.16); }
.academy-hero-art:before,.academy-hero-art:after { content:''; position:absolute; width:130px; height:130px; border:1px solid var(--mava-gold); border-radius:50%; }
.academy-hero-art:before { top:38px; right:42px; }.academy-hero-art:after { bottom:34px; left:35px; }
.academy-hero-art p { position:relative; z-index:1; color:var(--mava-pink); font-weight:800; letter-spacing:.1em; text-transform:uppercase; font-size:11px; }
.academy-hero-monogram { position:relative; z-index:1; color:var(--mava-gold); font-size:220px; line-height:.7; }
.academy-courses { padding:86px 0; background:#fff; }
.academy-section-head { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:38px; }.academy-section-head h2 { margin:6px 0 0; color:var(--mava-wine); font-size:42px; }.academy-section-head>p { max-width:330px; color:#765d65; line-height:1.6; }.academy-section-head.centered { justify-content:center; text-align:center; }
.academy-course-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.academy-course-card { display:flex; flex-direction:column; overflow:hidden; border:1px solid #efdce2; border-radius:8px; background:#fff; transition:transform .25s ease,box-shadow .25s ease; }.academy-course-card:hover { transform:translateY(-6px); box-shadow:0 18px 30px rgba(90,31,45,.13); }
.academy-course-image { position:relative; aspect-ratio:4/3; display:grid; place-items:center; overflow:hidden; background:var(--mava-rose); color:#fff; text-align:center; }.academy-course-image img { width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }.academy-course-card:hover img { transform:scale(1.05); }.academy-course-image>span:last-child { position:absolute; top:12px; left:12px; padding:6px 8px; background:var(--mava-wine-2); font-size:10px; font-weight:800; }.academy-course-image .serif { font-size:32px; }
.academy-course-card>div:last-child { display:flex; flex:1; flex-direction:column; padding:20px; }.academy-course-card small { color:var(--mava-rose); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.1em; }.academy-course-card h3 { margin:8px 0; color:var(--mava-wine); font-size:23px; }.academy-course-card p { margin:0; color:#765d65; font-size:13px; line-height:1.6; }.academy-course-card footer { display:flex; justify-content:space-between; gap:8px; margin-top:auto; padding-top:18px; border-top:1px solid var(--mava-pink); }.academy-course-card footer strong { color:var(--mava-wine-2); }.academy-course-card footer em { color:#765d65; font-size:11px; font-style:normal; }
.academy-feature { padding:70px 0; background:var(--mava-wine); color:#fff; }.academy-feature-grid { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:42px; }.academy-feature h2 { margin:10px 0 18px; font-size:42px; line-height:1.08; }.academy-feature h2 em { color:var(--mava-gold); }.academy-feature p { color:var(--mava-pink); line-height:1.65; }.academy-feature .btn { border-color:#fff; background:#fff; color:var(--mava-wine); }.academy-feature-image { min-height:310px; display:grid; place-items:center; overflow:hidden; background:var(--mava-rose); color:#fff; text-align:center; }.academy-feature-image img { width:100%; height:100%; object-fit:cover; }.academy-feature-image span { font-size:34px; }
.academy-testimonials { padding:86px 0; background:var(--mava-pink); }.academy-testimonial-row { display:flex; gap:18px; overflow-x:auto; padding:5px 2px 18px; scroll-snap-type:x mandatory; }.academy-testimonial-row article { flex:0 0 330px; min-height:220px; padding:24px; border:1px solid var(--mava-gold); border-radius:8px; background:#fff; scroll-snap-align:start; }.academy-testimonial-row article>p { color:var(--mava-ink); line-height:1.65; }.academy-testimonial-row footer { display:flex; align-items:center; gap:11px; margin-top:24px; }.academy-testimonial-row footer img,.academy-testimonial-row footer>span { width:42px; height:42px; border:2px solid var(--mava-gold); border-radius:50%; object-fit:cover; }.academy-testimonial-row footer>span { display:grid; place-items:center; background:var(--mava-wine); color:#fff; font-weight:800; }.academy-testimonial-row footer strong,.academy-testimonial-row footer small { display:block; }.academy-testimonial-row footer small { margin-top:3px; color:var(--mava-rose); font-size:11px; }.academy-testimonial-empty a { color:var(--mava-wine-2); font-weight:800; }
.academy-community { padding:68px 0; background:var(--mava-wine-2); color:#fff; text-align:center; }.academy-community h2 { max-width:720px; margin:0 auto 24px; font-size:38px; line-height:1.15; }.academy-community .btn { border-color:#fff; color:#fff; }.academy-community .btn:hover { background:#fff; color:var(--mava-wine-2); }
.academy-trust { padding:62px 0; background:#fff; }.academy-trust .container { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }.academy-trust article { text-align:center; }.academy-trust b { display:inline-grid; place-items:center; width:36px; height:36px; border:1px solid var(--mava-gold); color:var(--mava-wine-2); font-size:11px; }.academy-trust h3 { margin:12px 0 5px; color:var(--mava-wine); font-size:16px; }.academy-trust p { margin:0; color:#765d65; font-size:12px; }
.academy-faq { padding:80px 0; background:var(--mava-pink); }.academy-faq .container { display:grid; grid-template-columns:.75fr 1.25fr; gap:45px; }.academy-faq h2 { margin:7px 0; color:var(--mava-wine); font-size:42px; }.academy-faq-list { border-top:1px solid var(--mava-gold); }.academy-faq details { padding:16px 0; border-bottom:1px solid var(--mava-gold); }.academy-faq summary { color:var(--mava-wine); font-weight:800; cursor:pointer; }.academy-faq details p { color:#765d65; line-height:1.6; }
.academy-social { padding:72px 0; background:#fff; text-align:center; }.academy-social h2 { margin:8px 0 22px; color:var(--mava-wine); font-size:40px; }.academy-social div { display:flex; justify-content:center; flex-wrap:wrap; gap:12px; }.academy-social a { min-width:120px; padding:11px; border:1px solid var(--mava-wine); color:var(--mava-wine); font-weight:800; }.academy-social a:hover { background:var(--mava-wine); color:#fff; }
.mavagirls-wrap { border-top:1px solid #ead5dc; padding-top:50px; }
.community-heading { margin-bottom:28px; }
.community-heading .section-title { margin:7px 0 11px; }
.community-heading p { max-width:580px; margin:0; color:#765d65; line-height:1.7; }
.community-layout { display:grid; grid-template-columns:minmax(0, .82fr) minmax(0, 1.18fr); border:1px solid #ead5dc; background:white; }
.community-manifesto { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; min-height:420px; padding:44px; background:#5a1f2d; color:white; }
.community-number { margin:0; color:#f0bdcc; font-size:10px; font-weight:800; letter-spacing:.16em; }
.community-manifesto h3 { max-width:370px; margin:18px 0 16px; font-size:42px; line-height:1.03; }
.community-manifesto > p:not(.community-number) { max-width:390px; margin:0 0 25px; color:#f6dce4; line-height:1.65; font-size:13px; }
.community-manifesto .btn { border-color:white; color:white; }
.community-manifesto .btn:hover { background:white; color:var(--mava-wine); }
.community-stories { display:grid; grid-template-rows:repeat(3, 1fr); }
.community-story { display:grid; grid-template-columns:70px 1fr; align-items:center; gap:20px; padding:27px 30px; background:#fff; transition:background .22s ease, padding-left .22s ease; }
.community-story + .community-story { border-top:1px solid #ead5dc; }
.community-story.featured { background:#fff3f6; }
.community-story:hover { padding-left:36px; background:#fff7f9; }
.community-story span { display:grid; place-items:center; width:42px; height:42px; border:1px solid #d69aac; color:var(--mava-wine); font-size:11px; font-weight:800; }
.community-story h3 { margin:0 0 6px; color:var(--mava-wine); font-size:18px; }
.community-story p { margin:0; color:#765d65; font-size:13px; line-height:1.55; }
.mavagirls-section { background:#fff; }
.mavagirls-toolbar { display:grid; gap:22px; }
.review-tabs { display:flex; flex-wrap:wrap; gap:8px; padding-bottom:18px; border-bottom:1px solid var(--mava-gold); }
.review-tab { border:1px solid var(--mava-rose); border-radius:8px; background:transparent; color:var(--mava-wine); padding:9px 12px; font:inherit; font-size:11px; font-weight:800; cursor:pointer; transition:background .2s ease,color .2s ease,transform .2s ease; }
.review-tab:hover,.review-tab.active { background:var(--mava-wine); border-color:var(--mava-wine); color:#fff; transform:translateY(-1px); }
.mavagirls-toolbar > .btn { justify-self:start; margin-top:-64px; align-self:start; justify-self:end; }
.testimonial-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.testimonial-card { display:flex; flex-direction:column; min-height:245px; padding:20px; border:1px solid var(--mava-gold); border-radius:8px; background:var(--mava-pink); transition:transform .25s ease,box-shadow .25s ease; }
.testimonial-card:hover { transform:translateY(-5px); box-shadow:0 16px 28px rgba(90,31,45,.13); }
.testimonial-head { display:grid; grid-template-columns:44px 1fr auto; align-items:center; gap:10px; }
.testimonial-head img,.testimonial-avatar { width:44px; height:44px; border:2px solid var(--mava-gold); border-radius:50%; object-fit:cover; }
.testimonial-avatar { display:grid; place-items:center; background:var(--mava-wine); color:#fff; font-weight:800; }
.testimonial-head small { display:block; margin-top:3px; color:#765d65; font-size:11px; }
.testimonial-stars { color:var(--mava-gold); font-size:12px; letter-spacing:1px; }
.testimonial-card > p { flex:1; margin:18px 0; color:var(--mava-ink); font-size:13px; line-height:1.65; }
.testimonial-category { align-self:flex-start; padding-top:10px; border-top:1px solid rgba(90,31,45,.18); color:var(--mava-wine); font-size:10px; font-weight:800; letter-spacing:.05em; }
.testimonial-empty { grid-column:1/-1; padding:40px; border:1px dashed var(--mava-gold); border-radius:8px; background:var(--mava-pink); color:var(--mava-wine); }
.card { background: white; border: 1px solid #efdce2; border-radius: var(--radius); overflow: hidden; }
.card-body { padding: 18px; }
.service-card { min-height: 210px; display: flex; flex-direction: column; justify-content: end; background: linear-gradient(180deg, #fff, #f8edf1); }
.service-card { transition: transform .22s ease, box-shadow .22s ease, background .22s ease; }
.service-card:hover { transform: translateY(-5px); box-shadow: 0 14px 24px rgba(90,31,45,.1); background: linear-gradient(180deg, #fff, #f7d6e1); }
.services-showcase { background:var(--mava-rose); padding:88px 0; }
.services-showcase-head { margin-bottom:38px; text-align:center; color:#fff; }.services-showcase-head p { margin:0 0 10px; font-size:11px; font-weight:800; letter-spacing:.14em; }.services-showcase-head h2 { margin:0; font-size:clamp(42px,5vw,64px); font-weight:600; }
.services-showcase-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.service-showcase-card { padding:20px 20px 0; overflow:hidden; border-radius:14px; background:#fff; box-shadow:0 10px 24px rgba(90,31,45,.11); transition:transform .25s ease,box-shadow .25s ease; }.service-showcase-card:hover { transform:translateY(-7px); box-shadow:0 22px 38px rgba(90,31,45,.19); }
.service-showcase-image { position:relative; aspect-ratio:4/3; overflow:hidden; border-radius:12px; background:var(--mava-wine); }.service-showcase-image>img { width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }.service-showcase-card:hover .service-showcase-image>img { transform:scale(1.06); }.service-showcase-image>span { position:absolute; left:13px; bottom:13px; padding:6px 8px; border-radius:6px; background:#fff; color:var(--mava-wine); font-size:10px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.service-showcase-image:has(.service-showcase-art)>span { top:13px; bottom:auto; }
.service-showcase-art { position:relative; display:flex; height:100%; flex-direction:column; justify-content:flex-end; padding:23px; overflow:hidden; background:var(--mava-wine); color:#fff; }.service-showcase-art:before { content:''; position:absolute; inset:16px; border:1px solid var(--mava-gold); }.service-showcase-art:after { content:''; position:absolute; right:-44px; top:-44px; width:180px; height:180px; border:1px solid var(--mava-rose); transform:rotate(45deg); }.service-showcase-art span,.service-showcase-art small { position:relative; z-index:1; }.service-showcase-art span { color:var(--mava-gold); font-size:46px; }.service-showcase-art small { margin-top:7px; color:var(--mava-pink); font-size:10px; font-weight:800; letter-spacing:.12em; }
.service-showcase-body { display:flex; min-height:290px; flex-direction:column; padding:24px 0 0; }.service-showcase-body h3 { margin:0 0 12px; color:var(--mava-wine); font-size:29px; line-height:1.08; }.service-showcase-body>p { margin:0; color:#765d65; font-size:14px; line-height:1.65; }.service-showcase-body footer { display:flex; align-items:end; justify-content:space-between; gap:12px; margin-top:auto; padding:18px 0 20px; border-top:1px solid var(--mava-pink); }.service-showcase-body footer strong,.service-showcase-body footer small { display:block; }.service-showcase-body footer strong { color:var(--mava-wine-2); font-size:19px; }.service-showcase-body footer small { margin-top:5px; color:#765d65; font-size:11px; }.service-showcase-body .btn { min-height:36px; padding:0 12px; font-size:12px; }
.price { color: var(--mava-wine-2); font-weight: 800; }
.split { display: grid; grid-template-columns: 1.1fr .9fr; gap: 32px; align-items: center; }
.gallery { display: grid; grid-template-columns: repeat(6, 1fr); gap: 10px; }
.gallery div { aspect-ratio: 1; background: linear-gradient(135deg, var(--mava-pink), white 45%, var(--mava-gold)); border-radius: var(--radius); }
.newsletter { background: var(--mava-wine); color: white; padding: 42px; border-radius: var(--radius); display: grid; grid-template-columns: 1fr auto; gap: 18px; align-items: center; }
.input, select, textarea { width: 100%; min-height: 42px; border: 1px solid #e3c8d1; border-radius: var(--radius); padding: 10px 12px; font: inherit; background: white; }
.form-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.form-grid > .input,.form-grid > select { align-self:start; }
.product-cost-field { display:grid; gap:6px; }.product-cost-field .eyebrow { margin:0; }.product-cost-field small { color:#765d65; line-height:1.4; }
.variant-editor { display:grid; gap:10px; }
.product-media-manager,.product-variant-manager { grid-column:1/-1; padding-top:20px; margin-top:8px; border-top:1px solid #f0dde3; }
.product-media-manager .panel-title h2,.product-variant-manager .panel-title h2 { margin:0; }
.product-media-manager .panel-title p,.product-variant-manager .panel-title p { margin:5px 0 0; color:#765d65; font-size:13px; }
.product-image-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(135px,1fr)); gap:12px; margin-bottom:14px; }
.product-image-admin { display:grid; gap:8px; padding:9px; border:1px solid #efdce2; border-radius:8px; background:#fff8fa; }
.product-image-admin img { width:100%; aspect-ratio:1; object-fit:cover; border-radius:6px; background:#f7d6e1; }
.product-image-admin label { display:flex; align-items:center; gap:6px; color:var(--mava-wine); font-size:12px; font-weight:800; }
.product-image-admin .image-delete { color:#9a1530; }
.file-drop-field { display:grid; gap:5px; padding:14px; border:1px dashed var(--mava-rose); border-radius:8px; background:#fff8fa; color:var(--mava-wine); }
.file-drop-field span { color:#765d65; font-size:12px; }
.variant-row { display:grid; grid-template-columns:140px minmax(120px,1fr) 64px minmax(140px,1fr) minmax(150px,1fr) 84px auto; gap:10px; align-items:end; padding:12px; background:#fff8fa; border:1px solid #f0dde3; border-radius:8px; }
.variant-row>label { display:grid; gap:5px; color:#765d65; font-size:11px; font-weight:800; }
.variant-photo-field { display:grid; grid-template-columns:58px 1fr; gap:6px 8px; align-items:center; }
.variant-photo-preview { grid-row:1/4; display:grid; width:58px; height:58px; place-items:center; overflow:hidden; border:1px solid #e3c8d1; border-radius:7px; color:#fff; font-size:9px; font-weight:800; text-align:center; }
.variant-photo-preview img { width:100%; height:100%; object-fit:cover; }
.variant-upload-button,.variant-remove-image { color:var(--mava-wine-2); font-size:10px; font-weight:800; cursor:pointer; }
.variant-upload-button input { position:absolute; width:1px; height:1px; overflow:hidden; opacity:0; }
.variant-remove-image { border:0; background:transparent; padding:0; text-align:left; }
.footer { background: #1d1d1d; color: white; padding: 46px 0; }
.footer-grid { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 24px; }
.admin-shell { display: grid; grid-template-columns: 260px 1fr; min-height: 100vh; background: #f7f3f5; }
.sidebar { background: linear-gradient(160deg, #481624, var(--mava-wine) 55%, #7a2337); color: white; padding: 24px 16px; position: sticky; top: 0; height: 100vh; overflow-y:auto; box-shadow: 10px 0 30px rgba(90,31,45,.12); }
.sidebar-brand { padding: 4px 10px 25px; border-bottom: 1px solid rgba(255,255,255,.16); margin-bottom: 18px; }
.sidebar-label { color: #e5b9c6; font-size: 10px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; padding: 16px 10px 7px; }
.sidebar a { display: flex; align-items: center; gap: 10px; margin: 3px 0; padding: 11px 12px; color: rgba(255,255,255,.82); border-radius: 8px; transition: background .2s ease, color .2s ease, transform .2s ease; }
.sidebar a:hover, .sidebar a.active { color: white; background: rgba(255,255,255,.14); transform: translateX(3px); }
.sidebar a.active { box-shadow: inset 3px 0 #f1c5d2; }
.sidebar-icon { width: 25px; height: 25px; display: inline-grid; place-items: center; border: 1px solid rgba(255,255,255,.3); border-radius: 7px; font-size: 11px; font-weight: 800; }
.sidebar-footer { margin-top:18px; border-top: 1px solid rgba(255,255,255,.16); padding-top: 16px; }
.main { box-sizing:border-box; min-width:0; padding:34px; max-width:1600px; width:100%; }
.page-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:18px; margin-bottom: 24px; }
.eyebrow { color: var(--mava-wine-2); font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; margin: 0 0 8px; }
.stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.stat-card { position: relative; overflow: hidden; transition: transform .2s ease, box-shadow .2s ease; }
.stat-card:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(90,31,45,.1); }
.stat-card:after { content: ''; position:absolute; width: 74px; height: 74px; right:-20px; top:-20px; border-radius: 50%; background: var(--mava-pink); opacity: .7; }
.stat-label { color: #765d65; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; }
.stat-value { color: var(--mava-wine); margin: 8px 0 3px; font-size: 28px; }
.table-wrap { overflow-x: auto; border: 1px solid #efdce2; border-radius: var(--radius); background: white; box-shadow: 0 5px 18px rgba(90,31,45,.04); }
.table { width: 100%; border-collapse: collapse; background: white; }
.product-table-scroll,.data-table-scroll { max-height: min(66vh, 720px); overflow: auto; scrollbar-color: #c98b9d #fff8fa; scrollbar-width: thin; }
.product-table-scroll .table thead,.data-table-scroll .table thead { position: sticky; top: 0; z-index: 2; box-shadow: 0 1px 0 #efdce2; }
.product-table-scroll .table { min-width:1040px; }.internal-cost-cell strong { color:var(--mava-wine); }.internal-cost-cell small,.internal-cost-cell span { color:#765d65; font-size:11px; }
.admin-entity-table { max-height:min(66vh,720px); border:1px solid #efdce2; border-radius:8px; background:#fff; }
.admin-entity-table .table { min-width:920px; }
.admin-table-toolbar { display:flex; align-items:flex-end; justify-content:space-between; gap:14px; margin-bottom:16px; padding:14px 16px; }
.admin-table-toolbar label { flex:1; min-width:min(100%,280px); }
.admin-table-toolbar .eyebrow,.product-filter-field .eyebrow { display:block; margin-bottom:5px; }
.admin-table-thumb { width:58px; aspect-ratio:1; display:grid; place-items:center; overflow:hidden; border:1px solid #ead0d8; border-radius:6px; background:#f7e7ec; color:var(--mava-wine); font-family:"Playfair Display",Georgia,serif; font-size:24px; font-weight:700; }
.admin-table-thumb img { width:100%; height:100%; object-fit:cover; }
.product-table-toolbar { display:grid; grid-template-columns:minmax(240px,1fr) minmax(150px,210px) auto; gap:12px 18px; margin-bottom:16px; padding:14px 16px; }
.product-filter-field,.product-stock-filter-field { min-width:0; }
.product-stock-filter-field .eyebrow { display:block; margin-bottom:5px; }
.product-selection-summary,.product-bulk-controls,#product-liquidation-form { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.product-selection-summary { justify-content:flex-end; }
.product-bulk-controls { grid-column:1/-1; }
.product-bulk-note { grid-column:1/-1; color:#765d65; }
.selection-column { width:44px; text-align:center; }
.selection-column input { width:18px; height:18px; accent-color:var(--mava-wine); cursor:pointer; }
.status-pill.liquidation-active { margin-top:5px; background:var(--mava-wine); color:#fff; }
.internal-cost-quick-form { display:grid; gap:5px; min-width:148px; margin:0; }
.internal-cost-quick-control { display:grid; grid-template-columns:auto minmax(72px,1fr) auto; align-items:center; overflow:hidden; border:1px solid #d9b8c2; border-radius:6px; background:#fff; box-shadow:0 2px 8px rgba(88,14,26,.06); }
.internal-cost-quick-control > span { padding-left:8px; color:var(--mava-wine); font-size:12px; font-weight:800; }
.internal-cost-quick-control input { min-width:0; width:100%; border:0; outline:0; padding:7px 5px; background:transparent; color:#3f2630; font:inherit; font-size:12px; }
.internal-cost-quick-control button { align-self:stretch; border:0; border-left:1px solid #d9b8c2; padding:0 9px; background:var(--mava-wine); color:#fff; cursor:pointer; font:inherit; font-size:10px; font-weight:800; }
.internal-cost-quick-control button:hover { background:var(--mava-wine-2); }
.cash-shift-toolbar { gap:16px; }
.cash-register-status>div { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.cash-day-complete { color:var(--mava-wine); font-size:13px; font-weight:800; }
.modal-backdrop { position:fixed; inset:0; z-index:100; display:grid; place-items:center; padding:20px; background:rgba(42,12,22,.58); backdrop-filter:blur(5px); }
.modal-card { width:min(620px,100%); max-height:calc(100vh - 40px); overflow:auto; border-radius:8px; box-shadow:0 24px 70px rgba(35,8,16,.3); }
.modal-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:20px; }
.modal-head h2 { margin:0; color:var(--mava-wine); }
.icon-button { width:38px; height:38px; display:grid; place-items:center; flex:0 0 auto; border:1px solid #d9b8c2; border-radius:50%; background:#fff; color:var(--mava-wine); cursor:pointer; font-size:24px; line-height:1; }
.cash-close-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.cash-close-form label { display:grid; gap:6px; color:#4d333b; font-size:13px; font-weight:800; }
.cash-close-form label small { color:#765d65; font-size:11px; font-weight:400; }
.cash-close-summary { grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px; border:1px solid #d9b8c2; border-radius:7px; background:#fff8fa; color:var(--mava-wine); }
.cash-close-summary strong { font-size:24px; }
.modal-actions { grid-column:1/-1; display:flex; justify-content:flex-end; gap:10px; }
.data-table-scroll .table { min-width: 760px; }
.table-toolbar { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:16px; padding:14px 16px; border:1px solid #efdce2; border-radius:8px; background:#fff; box-shadow:0 5px 18px rgba(90,31,45,.04); }
.inventory-search { display:flex; align-items:flex-end; gap:10px; flex:1; min-width:0; }
.inventory-search label { display:grid; gap:5px; flex:1; min-width:220px; }.inventory-search .eyebrow { margin:0; }
.inventory-export-actions { display:flex; align-items:center; gap:9px; }.export-button { display:inline-flex; align-items:center; gap:8px; white-space:nowrap; }
.export-button span { display:inline-grid; min-width:35px; height:24px; place-items:center; padding:0 5px; border-radius:4px; background:var(--mava-pink); color:var(--mava-wine); font-size:9px; font-weight:900; }
.inventory-product-cell { min-width:280px; white-space:normal !important; }.inventory-table-scroll { max-height:min(64vh,700px); }.movements-table-scroll { max-height:390px; }
.table-empty { display:grid; justify-items:center; gap:5px; padding:28px 16px; color:#765d65; text-align:center; }.table-empty strong { color:var(--mava-wine); }
.mava-pagination { display:flex; align-items:center; justify-content:center; gap:8px; margin:18px 0 4px; }
.mava-page-numbers { display:flex; align-items:center; gap:5px; }.mava-page-arrow,.mava-page-numbers a,.mava-page-numbers .is-current { display:grid; min-width:34px; height:34px; place-items:center; padding:0 8px; border:1px solid #e7c8d1; border-radius:6px; background:#fff; color:var(--mava-wine-2); font-size:13px; font-weight:800; line-height:1; }
.mava-page-arrow { width:34px; padding:0; font-size:23px; }.mava-page-numbers .is-current { border-color:var(--mava-wine-2); background:var(--mava-wine-2); color:#fff; }.mava-page-arrow.is-disabled { border-color:#f0dde3; background:#fff8fa; color:#c8aab3; }
.mava-page-gap { color:#9b7c85; }.mava-page-summary { color:#765d65; font-size:11px; font-weight:700; }
.product-stock-cell { min-width: 220px; white-space: normal !important; }
.status-pill.stock-empty { background:#f7dce4; color:#8b1731; }
.stock-empty-copy { display:block; max-width:220px; margin-top:7px; color:#8b1731; line-height:1.35; }
.product-tone-list { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.product-tone { display: inline-flex; align-items: center; gap: 5px; padding: 4px 7px; border: 1px solid #efdce2; border-radius: 5px; color: #765d65; font-size: 11px; background: #fff8fa; }
.product-tone i { width: 12px; height: 12px; border-radius: 50%; border: 1px solid rgba(90,31,45,.16); flex: 0 0 auto; }
.product-tone b { color: var(--mava-wine-2); }
.stock-type { display: block; margin-top: 7px; color: #8b6c75; }
.table th { color: #765d65; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; background: #fff8fa; }
.table th, .table td { padding: 14px 16px; border-bottom: 1px solid #f0dde3; text-align: left; white-space: nowrap; }
.table tbody tr { transition: background .18s ease; }
.table tbody tr:hover { background: #fff8fa; }
.table tbody tr:last-child td { border-bottom: 0; }
.table-action { color: var(--mava-wine-2); font-weight: 800; font-size: 13px; }
.table-action:hover { text-decoration: underline; }
.table-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.table-actions form { margin: 0; }
.user-actions { display:flex; align-items:center; flex-wrap:wrap; gap:10px; }
.user-pin-button { min-height:34px; padding:0 12px; border:1px solid var(--mava-wine-2); border-radius:6px; background:#fff; color:var(--mava-wine-2); font:inherit; font-size:12px; font-weight:800; cursor:pointer; }
.user-pin-button:hover { background:var(--mava-pink); }
.status-pill.pin-ready { background:#e8f4ed; color:#28633f; }
.status-pill.pin-pending { background:#fff0d9; color:#8a5900; }
.users-pagination { margin-top:18px; }
.user-pin-dialog { width:min(100%,460px); }
.pin-help { color:#765d65; line-height:1.5; }
.table-action.danger { appearance: none; border: 0; background: transparent; padding: 0; color: #9A1530; cursor: pointer; font-family: inherit; }
.catalog-pagination { display:flex; justify-content:center; align-items:center; gap:10px; margin:30px 0 4px; }
.catalog-page-arrow,.catalog-page-numbers a,.catalog-page-numbers span { display:grid; place-items:center; min-width:34px; height:34px; padding:0 8px; border:1px solid #e7c8d1; border-radius:6px; color:var(--mava-wine-2); background:#fff; font-size:14px; font-weight:800; line-height:1; }
.catalog-page-arrow { width:34px; padding:0; font-size:26px; text-decoration:none; }
.catalog-page-arrow:hover,.catalog-page-numbers a:hover { border-color:var(--mava-wine-2); background:#fff4f7; }
.catalog-page-arrow.is-disabled { color:#c8aab3; background:#fff8fa; border-color:#f0dde3; }
.catalog-page-numbers { display:flex; align-items:center; gap:6px; }
.catalog-page-numbers span:not(.is-current) { min-width:auto; border-color:transparent; background:transparent; color:#9b7c85; }
.catalog-page-numbers .is-current { color:#fff; background:var(--mava-wine-2); border-color:var(--mava-wine-2); }
.form-errors { margin: 0 0 18px; border-left: 4px solid #9A1530; background: #F7D6E1; color: #5A1F2D; padding: 14px 18px; border-radius: 6px; }
.form-errors ul { margin: 8px 0 0; padding-left: 20px; }
.scan-notice { grid-column: 1 / -1; border-left: 4px solid var(--mava-wine-2); background: #fff3f6; color: var(--mava-wine); padding: 11px 14px; font-size: 14px; border-radius: 6px; }
.scan-conflict { grid-column: 1 / -1; display:flex; align-items:center; justify-content:space-between; gap:12px; border-left:4px solid #9A1530; background:#F7D6E1; color:#5A1F2D; padding:12px 14px; border-radius:6px; font-size:14px; font-weight:700; }
.stock-reference { grid-column: 1 / -1; margin: -6px 0 0; color: #765d65; font-size: 13px; }
.pos-search-actions { display:flex; align-items:center; gap:10px; min-width:min(100%, 470px); }
.pos-search-actions .input { flex:1; min-width:0; }
.cash-register-status { display:grid; gap:5px; }
.cash-register-status > div { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.cash-register-status small { color:#765d65; }
.pos-scan-status { width:100%; margin:10px 0 0; color:var(--mava-wine); font-size:13px; font-weight:700; }
.price-lookup-overlay { position:fixed; inset:0; z-index:70; display:grid; place-items:center; padding:20px; background:rgba(48,18,29,.56); backdrop-filter:blur(8px); }
.price-lookup-dialog { position:relative; width:min(100%, 620px); max-height:min(84vh, 720px); overflow:auto; padding:28px; border-radius:8px; background:#fff; box-shadow:0 24px 70px rgba(42,12,23,.32); }
.price-lookup-dialog h2 { margin:4px 0 8px; color:var(--mava-wine); }
.price-lookup-dialog > p:not(.eyebrow) { margin:0 0 18px; color:#765d65; }
.price-lookup-search { display:flex; gap:10px; }
.price-lookup-search .input { flex:1; }
.price-lookup-results { display:grid; gap:10px; margin-top:18px; }
.price-lookup-product { display:grid; grid-template-columns:72px 1fr; gap:14px; align-items:start; padding:12px; border:1px solid #efdce2; border-radius:7px; background:#fff8fa; }
.price-lookup-product img { width:72px; height:72px; object-fit:cover; border-radius:5px; }
.price-lookup-product strong,.price-lookup-product small,.price-lookup-product b { display:block; }
.price-lookup-product small { margin-top:4px; color:#765d65; }.price-lookup-product b { margin-top:7px; color:var(--mava-wine); font-size:18px; }
.price-lookup-tones { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }.price-lookup-tones > span { display:inline-flex; align-items:center; gap:4px; color:#765d65; font-size:11px; }.price-lookup-tones i { width:11px; height:11px; border:1px solid rgba(90,31,45,.2); border-radius:50%; }
@media (max-width:767px) { .pos-search-actions,.price-lookup-search { align-items:stretch; flex-direction:column; }.pos-search-actions .btn,.price-lookup-search .btn { width:100%; }.price-lookup-dialog { padding:22px 16px; }.price-lookup-product { grid-template-columns:56px 1fr; }.price-lookup-product img { width:56px; height:56px; }.scan-conflict { align-items:stretch; flex-direction:column; }.scan-conflict .btn { width:100%; } }
.status-pill { display:inline-flex; align-items:center; padding: 5px 9px; border-radius: 999px; background: #f7e7ec; color: var(--mava-wine-2); font-size: 11px; font-weight: 800; }
.dashboard-grid { display:grid; grid-template-columns: minmax(0,1.35fr) minmax(280px,.65fr); gap:18px; margin-top:18px; }
.dashboard-grid.equal { grid-template-columns: repeat(2, minmax(0,1fr)); }
.panel-title { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:0 0 16px; color:var(--mava-wine); }
.quick-actions { display:grid; grid-template-columns:repeat(3, 1fr); gap:10px; }
.quick-action { display:flex; align-items:center; gap:10px; padding:14px; border:1px solid #efdce2; border-radius:8px; background:#fff8fa; color:var(--mava-wine); font-weight:800; transition:transform .2s ease, border-color .2s ease, background .2s ease; }
.quick-action:hover { transform:translateY(-2px); border-color:var(--mava-rose); background:white; }
.quick-action span { width:30px; height:30px; display:grid; place-items:center; border-radius:8px; background:var(--mava-wine); color:white; font-size:11px; }
.pos-grid { display: grid; grid-template-columns: 1fr 360px; gap: 18px; }
.pos-products { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.pos-toolbar { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.inline-form { display:flex; align-items:center; gap:8px; max-width:520px; }
.search-panel { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.search-panel .input { max-width:390px; }
.pos-products-rich { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pos-product-rich { min-height:170px; }
.product-tile-head { display:flex; justify-content:space-between; gap:10px; }
.product-tile-head small, .invoice-line small { display:block; color:#765d65; margin-top:4px; }
.variant-hint { color:#765d65; }
.pos-swatches { display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
.swatch-button { display:flex; align-items:center; gap:5px; border:1px solid #ead0d8; border-radius:8px; background:#fff8fa; padding:6px 8px; color:var(--mava-wine); cursor:pointer; font-size:11px; }
.swatch-button:hover { border-color:var(--mava-wine-2); background:white; }
.swatch-button:disabled { opacity:.4; cursor:not-allowed; }
.swatch-button em { font-style:normal; color:#765d65; }
.pos-swatch-copy { display:grid; gap:1px; min-width:0; }.pos-swatch-copy strong { overflow:hidden; text-overflow:ellipsis; }.pos-swatch-copy small { color:#765d65; font-size:9px; }
.swatch-dot { width:16px; height:16px; border-radius:50%; border:1px solid rgba(0,0,0,.18); }
.pos-add-button { width:100%; min-height:36px; margin-top:8px; }
.invoice-preview { position:sticky; top:22px; align-self:start; }
.invoice-head { display:flex; justify-content:space-between; gap:12px; border-bottom:1px solid #f0dde3; padding-bottom:16px; }
.invoice-line { display:flex; justify-content:space-between; gap:12px; padding:13px 0; border-bottom:1px solid #f0dde3; }
.invoice-line-actions { text-align:right; display:grid; justify-items:end; gap:6px; }
.discount-line { display:flex; justify-content:flex-end; gap:4px; margin-top:6px; }
.discount-line .input { width:64px; min-height:30px; padding:5px; font-size:11px; }
.discount-line .btn { min-height:30px; padding:0 9px; font-size:11px; }
.remove-line-button { border:0; background:transparent; color:#a31d3c; padding:2px 0; font:inherit; font-size:11px; font-weight:800; cursor:pointer; }
.remove-line-button:hover { color:#72162a; text-decoration:underline; }
.invoice-totals { padding-top:12px; }
.invoice-totals p, .grand-total { display:flex; justify-content:space-between; gap:12px; margin:8px 0; }
.global-discount { border-top:1px dashed #e3c8d1; margin-top:12px; padding-top:12px; }
.global-discount label { display:block; color:#765d65; font-size:12px; font-weight:700; }
.payment-methods { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:7px; margin:14px 0; padding:0; border:0; }.payment-methods legend { margin-bottom:7px; color:#765d65; font-size:12px; font-weight:800; }.payment-methods label { display:grid; min-height:38px; place-items:center; border:1px solid #e3c8d1; border-radius:7px; background:#fff8fa; color:var(--mava-wine); cursor:pointer; font-size:12px; font-weight:800; transition:background .18s ease,border-color .18s ease,color .18s ease; }.payment-methods label:hover,.payment-methods label.is-selected { border-color:var(--mava-wine); background:var(--mava-wine); color:#fff; }
.cash-required { margin:10px 0 !important; color:#8a2a3e; font-size:12px; line-height:1.45; }
.grand-total { color:var(--mava-wine); font-size:20px; border-top:1px solid #f0dde3; padding-top:12px; }
.empty-state { text-align:center; padding:40px 12px; color:#765d65; }
.pos-product { min-height: 88px; border: 1px solid #ead0d8; background: white; border-radius: var(--radius); padding: 12px; text-align: left; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.pos-product:hover { transform: translateY(-3px); border-color: var(--mava-rose); box-shadow: 0 10px 20px rgba(90,31,45,.1); }
.product-card { transition: transform .22s ease, box-shadow .22s ease; }
.product-card:hover { transform: translateY(-6px); box-shadow: 0 16px 28px rgba(90,31,45,.12); }
.product-card img { transition: transform .35s ease; }
.product-card:hover img { transform: scale(1.04); }
.product-name { text-transform:lowercase; }
.product-name::first-letter { text-transform:uppercase; }
.product-detail-layout { align-items:start; }
.product-gallery { min-width:0; }
.product-detail-image { overflow:hidden; aspect-ratio:1; background:#f7d6e1; }
.product-detail-image img { display:block; width:100%; height:100%; object-fit:contain; background:#fff; }
.product-image-placeholder { width:100%; height:100%; background:#f7d6e1; }
.product-gallery-thumbs { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; margin-top:10px; }
.product-gallery-thumbs button { aspect-ratio:1; overflow:hidden; padding:3px; border:1px solid #ead0d8; border-radius:7px; background:#fff; cursor:pointer; transition:border-color .18s ease,transform .18s ease; }
.product-gallery-thumbs button:hover,.product-gallery-thumbs button.is-active { border-color:var(--mava-wine-2); transform:translateY(-2px); }
.product-gallery-thumbs img { width:100%; height:100%; object-fit:cover; border-radius:4px; }
.tone-picker>p { display:grid; gap:4px; }.tone-picker>p small { color:#765d65; font-weight:400; }
.product-buy-form { display:flex; gap:10px; align-items:center; margin-top:18px; flex-wrap:wrap; }
.product-buy-form #product-quantity { max-width:120px; }
.booking-layout { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr); gap:22px; align-items:start; }
.booking-step { color:var(--mava-wine); font-size:22px; margin:0 0 14px; }
.service-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.service-option { display:grid; grid-template-columns:76px 1fr; gap:12px; min-height:150px; padding:12px; border:1px solid #ead0d8; border-radius:8px; background:white; cursor:pointer; transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.service-option:has(input:checked), .service-option:hover { border-color:var(--mava-wine-2); box-shadow:0 10px 20px rgba(90,31,45,.1); transform:translateY(-2px); }
.service-option img { width:76px; height:76px; object-fit:cover; border-radius:7px; }
.service-option small, .service-option p, .service-option span { display:block; margin:4px 0; color:#765d65; font-size:12px; line-height:1.4; }
.service-option b { color:var(--mava-wine-2); }
.booking-confirm { position:sticky; top:22px; display:grid; gap:12px; }
.booking-confirm label { color:#765d65; font-size:12px; font-weight:700; }
.slot-grid { display:flex; flex-wrap:wrap; gap:7px; }
.slot-option { display:inline-grid; place-items:center; min-width:64px; min-height:37px; padding:0 9px; border:1px solid #e3c8d1; border-radius:7px; color:var(--mava-wine); font-size:13px; font-weight:800; cursor:pointer; }
.slot-option:has(input:checked), .slot-option:hover { background:var(--mava-wine); color:white; border-color:var(--mava-wine); }
.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; }
.appointment-list { display:grid; gap:12px; }
.appointment-card { display:flex; justify-content:space-between; align-items:center; gap:18px; }
.appointment-card h2 { color:var(--mava-wine); margin:10px 0 5px; font-size:20px; }
.appointment-card p { margin:0 0 5px; color:#765d65; }
.appointment-status { text-transform:capitalize; }
.appointment-status.confirmed, .appointment-status.completed { background:#e6f4eb; color:#21663a; }
.appointment-status.cancelled, .appointment-status.no_show { background:#fde9e9; color:#9d2430; }
.appointment-status.in_progress { background:#fff0cc; color:#8a5900; }
.checkbox-row { display:flex; flex-wrap:wrap; gap:10px 18px; color:#765d65; }
.business-hour-row { display:grid; grid-template-columns:1.1fr 1fr 1fr auto; align-items:end; gap:10px; padding:12px; border:1px solid #efdce2; border-radius:8px; background:#fff8fa; }
.appointment-toolbar { margin-bottom:0; }
.manual-appointment-form { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.agenda-list { display:grid; gap:16px; margin-top:18px; }
.agenda-day { border:1px solid #efdce2; border-radius:8px; overflow:hidden; background:white; }
.agenda-day-head { display:flex; justify-content:space-between; align-items:center; padding:13px 16px; background:#fff3f7; color:var(--mava-wine); }
.agenda-day-head h2 { margin:0; font-size:18px; text-transform:capitalize; }
.agenda-day-head span { color:#765d65; font-size:12px; font-weight:800; }
.agenda-item { display:grid; grid-template-columns:78px minmax(0,1fr) minmax(170px,.7fr); gap:16px; align-items:center; padding:14px 16px; border-top:1px solid #f0dde3; }
.agenda-time { display:grid; gap:4px; color:var(--mava-wine); }
.agenda-time small, .agenda-item p, .agenda-item small { color:#765d65; margin:3px 0; }
.agenda-action { display:flex; gap:6px; align-items:center; justify-content:flex-end; flex-wrap:wrap; }
.agenda-action .input { min-height:34px; width:auto; min-width:108px; padding:6px 8px; font-size:12px; }
.agenda-action .btn { min-height:34px; padding:0 10px; font-size:12px; }
.store-swatches { display:flex; flex-wrap:wrap; gap:10px; }
.store-swatch { display:grid; grid-template-columns:38px minmax(0,1fr); align-items:center; column-gap:8px; border:1px solid #ead0d8; border-radius:8px; background:white; padding:7px 9px; color:var(--mava-wine); cursor:pointer; text-align:left; }
.store-swatch>span:last-child { display:grid; gap:2px; }.store-swatch small { color:#765d65; }
.store-swatch:hover,.store-swatch.is-active { border-color:var(--mava-wine-2); background:#fff8fa; transform:translateY(-2px); }
.store-swatch:disabled { opacity:.45; cursor:not-allowed; }
.swatch-photo { width:38px; height:38px; border-radius:6px; object-fit:cover; }
.store-swatch .swatch-dot { width:28px; height:28px; margin-left:5px; }
.color-zoom { display:flex; align-items:center; gap:12px; min-height:70px; margin-top:14px; padding:10px 12px; background:#fff8fa; border:1px solid #f0dde3; border-radius:8px; }
.zoom-color { width:54px; height:54px; display:inline-block; border-radius:50%; border:2px solid white; box-shadow:0 0 0 1px #d8b8c2, 0 5px 12px rgba(90,31,45,.16); }
.inventory-variants { display:grid; gap:7px; margin-top:8px; }
.inventory-variant { display:flex; align-items:center; gap:7px; flex-wrap:wrap; padding:6px 8px; background:#fff8fa; border-radius:6px; }
.mini-adjust { display:flex; gap:5px; align-items:center; }
.mini-adjust .input { min-height:30px; width:80px; padding:5px 7px; font-size:11px; }
.mini-adjust .btn { min-height:30px; padding:0 8px; font-size:11px; }
.btn { transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.btn:hover { transform: translateY(-2px); box-shadow: 0 8px 16px rgba(90,31,45,.16); }
[x-cloak] { display:none !important; }

.product-promotion-price { display:flex; align-items:center; flex-wrap:wrap; gap:6px 9px; margin:12px 0; }
.product-price-before { color:#876f76; font-size:13px; text-decoration:line-through; text-decoration-thickness:1.5px; }
.product-price-current { color:var(--mava-wine); font-size:27px; line-height:1; }
.product-promotion-label { padding:5px 8px; border:1px solid var(--mava-rose); border-radius:6px; background:var(--mava-pink); color:var(--mava-wine); font-size:10px; font-weight:800; text-transform:uppercase; }
.product-promotion-price>small { flex-basis:100%; color:var(--mava-wine-2); font-size:11px; font-weight:800; }
.product-promotion-price.is-compact { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:3px 7px; margin:8px 0; }
.product-promotion-price.is-compact .product-price-before { grid-column:1/-1; font-size:11px; }
.product-promotion-price.is-compact .product-price-current { font-size:19px; }
.product-promotion-price.is-compact .product-promotion-label { justify-self:start; padding:3px 6px; font-size:8px; }
.product-promotion-price.is-compact>small { grid-column:1/-1; font-size:10px; }
.pos-product-price { min-height:48px; }
.sale-price-history,.sale-item-price-history { color:#765d65; }
.sale-price-history del,.sale-item-price-history del { color:#876f76; }
.sale-price-history b,.sale-item-price-history strong { color:var(--mava-wine-2); }
.sale-item-price-history { display:grid; justify-items:end; gap:3px; min-width:128px; font-size:11px; }
.sale-item-price-history small { max-width:190px; color:var(--mava-wine-2); text-align:right; }
.price-lookup-promotion { display:flex; align-items:baseline; flex-wrap:wrap; gap:5px 9px; margin-top:5px; }
.price-lookup-promotion del { color:#876f76; font-size:12px; }
.price-lookup-promotion b { color:var(--mava-wine); font-size:19px; }
.price-lookup-promotion small { flex-basis:100%; color:var(--mava-wine-2); font-weight:800; }
.report-sale-items summary { color:var(--mava-wine); font-size:11px; font-weight:800; cursor:pointer; white-space:nowrap; }
.report-sale-items>div { display:flex; align-items:start; justify-content:space-between; gap:14px; min-width:330px; padding:9px 0; border-bottom:1px solid #f0dde3; }
.report-sale-items>div:last-child { border-bottom:0; }
.report-sale-items>div>span strong,.report-sale-items>div>span small { display:block; }
.report-sale-items>div>span small { margin-top:3px; color:#765d65; font-size:10px; }
.checkout-summary-line { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:5px 10px; padding:10px 0; border-bottom:1px solid #efdce2; color:#765d65; font-size:13px; }
.checkout-summary-line .product-promotion-price { grid-column:1/-1; margin:0; }
.checkout-summary-line>strong { color:var(--mava-wine); text-align:right; }
@media (max-width:600px) {
  .product-promotion-price { align-items:flex-start; flex-direction:column; }
  .product-promotion-price.is-compact { display:grid; }
  .sale-item-price-history { justify-items:start; min-width:0; }
  .sale-item-price-history small { text-align:left; }
}
.removal-overlay { position:fixed; inset:0; z-index:90; display:grid; place-items:center; padding:20px; background:rgba(29,29,29,.42); backdrop-filter:blur(3px); }
.removal-dialog { position:relative; width:min(100%, 390px); padding:26px; border:1px solid #efdce2; border-radius:8px; background:white; box-shadow:0 24px 60px rgba(45,16,25,.28); }
.removal-dialog h2 { margin:0; color:var(--mava-wine); font-size:24px; }
.removal-copy { margin:12px 0 18px; color:#765d65; line-height:1.5; }
.removal-form { display:grid; gap:8px; }
.removal-form label { color:#765d65; font-size:12px; font-weight:800; }
.removal-close { position:absolute; top:10px; right:12px; width:32px; height:32px; border:0; border-radius:50%; background:#fff1f5; color:var(--mava-wine); font-size:24px; line-height:1; cursor:pointer; }
.removal-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:12px; }
.remove-confirm-button { background:#a31d3c; border-color:#a31d3c; }
.completed-sale-overlay { position:fixed; inset:0; z-index:100; display:grid; place-items:center; padding:20px; background:rgba(48,18,29,.56); backdrop-filter:blur(8px); }
.completed-sale-dialog { width:min(100%, 620px); max-height:min(88vh, 760px); overflow:auto; padding:26px; border-radius:8px; background:white; box-shadow:0 24px 70px rgba(42,12,23,.34); }
.completed-sale-head { display:flex; justify-content:space-between; gap:16px; padding-bottom:16px; border-bottom:1px solid #f0dde3; }.completed-sale-head h2 { margin:4px 0; color:var(--mava-wine); }.completed-sale-head p:not(.eyebrow) { margin:0; color:#765d65; font-size:13px; }
.completed-sale-lines { display:grid; gap:0; margin:6px 0; }.completed-sale-lines article { display:flex; justify-content:space-between; gap:16px; padding:13px 0; border-bottom:1px solid #f0dde3; }.completed-sale-lines small { display:block; margin-top:4px; color:#765d65; font-size:12px; }.completed-sale-lines article > div:last-child { min-width:128px; text-align:right; }.completed-sale-lines article > div:last-child small { color:#a31d3c; }
.completed-sale-summary { padding-top:12px; }.completed-sale-summary p { display:flex; justify-content:space-between; gap:16px; margin:8px 0; color:#765d65; }.completed-sale-summary strong { color:#40212a; text-align:right; }.completed-sale-total { margin-top:14px !important; padding-top:14px; border-top:1px solid #e3c8d1; color:var(--mava-wine) !important; font-size:20px; }.completed-sale-total strong { color:var(--mava-wine); }.completed-sale-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:22px; }.completed-sale-actions .btn { min-width:126px; text-align:center; }
.report-filters { display:flex; align-items:end; gap:12px; margin:18px 0; }.report-filters label { display:grid; gap:6px; color:#765d65; font-size:12px; font-weight:800; }.report-filters .btn { min-height:42px; }.report-chart-card,.report-payments { margin-top:18px; }.report-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:18px; margin-top:18px; }.report-payment-list { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:10px; }.report-payment-list > div { display:grid; gap:5px; padding:12px; border:1px solid #efdce2; border-radius:7px; background:#fff8fa; color:#765d65; }.report-payment-list strong { color:var(--mava-wine); }
.report-table-wrap { max-height:560px; overflow:auto; border:1px solid #f0dde3; border-radius:7px; }.report-table-wrap .table { min-width:920px; }.report-table-wrap thead th { position:sticky; top:0; z-index:1; background:#fff8fa; }.report-table-wrap small { color:#765d65; font-size:11px; }
.cash-reconciliation-card { margin-top:18px; border-top:4px solid var(--mava-wine-2); }
.cash-reconciliation-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:14px; }
.cash-reconciliation-heading .panel-title { margin:0; color:var(--mava-wine); }
.cash-reconciliation-heading p:last-child { margin:7px 0 0; color:#765d65; }
.cash-reconciliation-formula { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-bottom:14px; padding:11px 13px; border:1px solid #ead0d8; border-radius:7px; background:#fff8fa; color:#765d65; font-size:12px; }
.cash-reconciliation-formula span,.cash-reconciliation-formula strong { padding:5px 8px; border-radius:5px; background:#fff; }
.cash-reconciliation-formula b,.cash-reconciliation-formula strong { color:var(--mava-wine); }
.vault-reconciliation-table { max-height:min(62vh,680px); }
.vault-reconciliation-table .table { min-width:1540px; }
.vault-reconciliation-table small { color:#765d65; font-size:10px; }
.cash-reconciliation-notes { max-width:260px; white-space:normal !important; line-height:1.4; }
.cash-reconciliation-difference { font-weight:800; }
.cash-reconciliation-difference.is-match { color:#376448; }
.cash-reconciliation-difference.is-review { color:#9a1530; }
.cash-reconciliation-status { display:inline-flex; align-items:center; min-height:26px; padding:0 9px; border-radius:999px; font-size:10px; font-weight:900; text-transform:uppercase; }
.cash-reconciliation-status.is-match { background:#e8f4ed; color:#28633f; }
.cash-reconciliation-status.is-review { background:#f7dce4; color:#8b1731; }
.fade-up { animation: fadeUp .45s ease both; }
@keyframes fadeUp { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
.thermal { width: 80mm; margin: 0 auto; background: white; color: #000; font-family: monospace; font-size: 12px; }
.thermal-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; padding:12px; }.thermal-actions #thermal-print-status { color:#765d65; font-family:Arial,sans-serif; font-size:12px; }
@page { size: 80mm auto; margin: 4mm; }
@media print { body { background: white; } .no-print { display: none; } }

@media (max-width: 900px) {
  .product-table-toolbar { grid-template-columns:1fr; }.product-selection-summary { justify-content:flex-start; }.product-bulk-controls { grid-column:auto; align-items:stretch; }.product-bulk-controls,#product-liquidation-form { width:100%; }.product-bulk-controls .btn,#product-liquidation-form .btn { flex:1; }
  .nav { flex-wrap: wrap; padding: 12px 0; }
  .navlinks { width: 100%; overflow-x: auto; }
  .benefits, .footer-grid, .stats, .pos-grid, .split, .dashboard-grid, .dashboard-grid.equal, .academy-heading, .community-layout { grid-template-columns: 1fr; }
  .grid.services, .grid.products, .grid.courses, .testimonial-grid, .academy-course-grid, .academy-trust .container, .academy-home-courses, .services-showcase-grid, .review-community-grid, .mava-experience-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .gallery { grid-template-columns: repeat(3, 1fr); }
  .admin-shell { grid-template-columns: 1fr; }
  .sidebar { position: static; }
  .pos-products { grid-template-columns: repeat(2, 1fr); }
  .pos-products-rich { max-height:min(58vh,620px); overflow-y:auto; align-content:start; padding-right:4px; overscroll-behavior:contain; scrollbar-color:var(--mava-rose) transparent; }
  .newsletter { grid-template-columns: 1fr; padding: 24px; }
  .academy-copy { padding-bottom:12px; }
  .academy-contact-panel { min-height:250px; border-left:0; border-top:2px solid var(--mava-wine); }
  .academy-division { grid-template-columns:1fr; }
  .academy-division span + span { border-left:0; border-top:1px solid #e9cbd4; }
  .community-manifesto { min-height:340px; padding:32px 26px; }
  .community-manifesto h3 { font-size:34px; }
  .community-story { grid-template-columns:52px 1fr; gap:14px; padding:22px; }
  .mavagirls-toolbar > .btn { margin-top:0; justify-self:stretch; }
  .academy-hero-grid,.academy-feature-grid,.academy-faq .container { grid-template-columns:1fr; }
  .academy-hero-full,.academy-courses,.academy-testimonials,.academy-faq { padding:52px 0; }
  .academy-hero-art { min-height:300px; }.academy-hero-monogram { font-size:160px; }
  .academy-home-head { align-items:flex-start; flex-direction:column; }.academy-home-head .btn { width:100%; }
  .service-showcase-body { min-height:0; }.services-showcase-head { margin-bottom:26px; }
  .academy-section-head { align-items:flex-start; flex-direction:column; }.academy-section-head h2,.academy-feature h2,.academy-community h2,.academy-faq h2,.academy-social h2 { font-size:34px; }
  .sidebar { height:auto; position:static; }
  .sidebar-footer { position:static; margin-top:18px; }
  .page-heading { align-items:flex-start; flex-direction:column; }
  .quick-actions { grid-template-columns:1fr; }
  .pos-toolbar, .search-panel { align-items:stretch; flex-direction:column; }
  .inline-form, .search-panel .input { max-width:none; width:100%; }
  .pos-products-rich { grid-template-columns:1fr; }
  .invoice-preview { position:static; }
  .booking-layout { grid-template-columns:1fr; }
  .booking-confirm { position:static; }
  .service-grid { grid-template-columns:1fr; }
  .appointment-card { align-items:flex-start; flex-direction:column; }
  .business-hour-row, .manual-appointment-form, .agenda-item { grid-template-columns:1fr; }
  .agenda-action { justify-content:flex-start; }
  .agenda-action .input { width:100%; }
  .variant-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .variant-photo-field,.variant-remove { grid-column:1/-1; }
}
@media (max-width: 700px) {
  .cash-reconciliation-heading { align-items:stretch; flex-direction:column; }
  .cash-reconciliation-heading .status-pill { align-self:flex-start; }
  .cash-reconciliation-formula { gap:5px; }
}

@media (max-width: 760px) {
  .admin-table-toolbar { align-items:stretch; flex-direction:column; }.admin-table-toolbar .status-pill { align-self:flex-start; }.cash-close-form { grid-template-columns:1fr; }.cash-close-form>*,.cash-close-summary,.modal-actions { grid-column:auto !important; }.modal-actions { flex-direction:column-reverse; }.modal-actions .btn { width:100%; }.modal-backdrop { padding:10px; }.modal-card { max-height:calc(100vh - 20px); }
  .topbar { padding:7px 10px; font-size:11px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .nav { position:relative; min-height:64px; flex-wrap:nowrap; padding:10px 0; }
  .brand strong { font-size:27px; }
  .menu-toggle { display:block; flex:0 0 auto; }
  .navlinks { position:absolute; top:100%; right:0; left:0; z-index:30; display:none; width:auto; max-height:calc(100vh - 120px); overflow-y:auto; padding:10px; border:1px solid #ead0d8; border-radius:0 0 8px 8px; background:rgba(255,250,252,.98); box-shadow:0 18px 30px rgba(90,31,45,.14); }
  .navlinks.is-open { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
  .navlinks a,.navlinks form[style] { display:flex !important; min-height:42px; align-items:center; padding:0 11px; border:1px solid #efdce2; border-radius:7px; color:var(--mava-wine); font-size:12px; font-weight:700; }
  .navlinks a.btn,.navlinks form .btn { justify-content:center; width:100%; border-color:var(--mava-wine-2); }
  .navlinks form { margin:0; }
}

@media (max-width: 640px) {
  .container { width:min(1180px,calc(100% - 24px)); }
  .section { padding:52px 0; }
  .benefits { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1px; }
  .benefit { display:grid; min-height:68px; place-items:center; padding:12px 8px; font-size:16px; line-height:1.15; }
  .benefit:last-child { grid-column:1 / -1; }
  .grid.products,.academy-home-courses { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .card-body,.academy-home-card-body { padding:12px; }
  .product-card h3 { margin:0 0 7px; font-size:15px; line-height:1.25; }
  .product-card .btn { min-height:34px; padding:0 8px; font-size:11px; }
  .academy-home-card-body h3 { margin-bottom:6px; font-size:19px; line-height:1.08; }
  .academy-home-card-body>p { min-height:0; font-size:11px; line-height:1.45; }
  .academy-card-meta { display:block; margin:12px 0 10px; padding-top:9px; }.academy-card-meta small,.academy-card-meta strong { display:block; }.academy-card-meta strong { margin-top:4px; }
  .academy-home-card-body .btn { min-height:34px; padding:0 7px; font-size:10px; }
  .services-showcase { padding:56px 0; }
  .services-showcase-grid { gap:12px; }
  .service-showcase-card { display:grid; grid-template-columns:112px minmax(0,1fr); padding:0; border-radius:8px; }
  .service-showcase-image { min-height:158px; border-radius:0; }.service-showcase-image>span { left:8px; bottom:8px; font-size:8px; }.service-showcase-image:has(.service-showcase-art)>span { top:8px; bottom:auto; }
  .service-showcase-art { padding:13px; }.service-showcase-art:before { inset:9px; }.service-showcase-art span { font-size:30px; }.service-showcase-art small { font-size:8px; }
  .service-showcase-body { min-height:158px; padding:14px 14px 12px; }.service-showcase-body h3 { margin-bottom:6px; font-size:21px; }.service-showcase-body>p { display:-webkit-box; overflow:hidden; font-size:12px; line-height:1.45; -webkit-box-orient:vertical; -webkit-line-clamp:2; }.service-showcase-body footer { padding:10px 0 0; }.service-showcase-body footer strong { font-size:15px; }.service-showcase-body footer small { display:none; }.service-showcase-body .btn { min-height:32px; padding:0 8px; font-size:10px; }
}

@media (max-width: 600px) {
  .grid.services, .grid.products, .grid.courses, .testimonial-grid, .academy-course-grid, .academy-trust .container, .academy-home-courses, .services-showcase-grid, .review-community-grid, .mava-experience-list { grid-template-columns:1fr; }
  .catalog-filters { grid-template-columns:1fr; gap:10px; padding:14px; }
  .catalog-filters .input,.catalog-filters select { padding:9px 10px; font-size:14px; }
  .menu-toggle { width:44px; height:44px; }
  .btn,.navlinks a,.navlinks button,.navlinks form[style],.product-card .btn,.academy-home-card-body .btn,.service-showcase-body .btn,.course-footer .btn,.review-tab,.mava-experience-tabs button,.slot-option,.store-swatch,.academy-subnav a,.academy-social a,.cart-remove { min-height:44px; }
  .catalog-page-arrow,.catalog-page-numbers a,.catalog-page-numbers .is-current { min-width:44px; height:44px; }
  .product-gallery-thumbs { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .product-buy-form { align-items:stretch; flex-direction:column; }
  .product-buy-form #product-quantity { max-width:none; }
  .product-buy-form .btn { width:100%; }
  .product-image-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .variant-row { grid-template-columns:1fr; }
  .variant-photo-field,.variant-remove { grid-column:auto; }
  .product-media-manager .panel-title,.product-variant-manager .panel-title { align-items:stretch; flex-direction:column; }
}

.reviews-community { padding:80px 0; background:var(--mava-pink); text-align:center; }
.reviews-community h1,.reviews-community h2 { margin:8px 0 12px; color:var(--mava-wine); font-size:clamp(46px,6vw,72px); }
.reviews-community .container>p:not(.academy-kicker) { max-width:580px; margin:0 auto; color:#765d65; line-height:1.65; }
.review-chips { display:flex; justify-content:center; flex-wrap:wrap; gap:8px; margin:28px 0; }
.review-chips button { border:1px solid var(--mava-rose); border-radius:8px; background:#fff; color:var(--mava-wine); padding:9px 12px; font:inherit; font-size:11px; font-weight:800; cursor:pointer; }
.review-chips button.active,.review-chips button:hover { background:var(--mava-wine); border-color:var(--mava-wine); color:#fff; }
.review-community-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-bottom:28px; text-align:left; }
.community-review { display:flex; min-height:220px; flex-direction:column; padding:20px; border:1px solid var(--mava-gold); border-radius:8px; background:#fff; transition:transform .2s ease,box-shadow .2s ease; }
.community-review:hover { transform:translateY(-4px); box-shadow:0 16px 28px rgba(90,31,45,.12); }
.community-review header { display:grid; grid-template-columns:42px 1fr auto; align-items:center; gap:9px; }
.review-avatar { display:grid; place-items:center; width:42px; height:42px; border:2px solid var(--mava-gold); border-radius:50%; background:var(--mava-wine); color:#fff; font-weight:800; }
.community-review header small { display:block; margin-top:3px; color:#765d65; font-size:11px; }
.review-stars { color:var(--mava-gold); font-size:12px; letter-spacing:1px; }
.community-review>p { flex:1; color:var(--mava-ink); font-size:13px; line-height:1.65; }
.community-review footer { padding-top:10px; border-top:1px solid var(--mava-pink); color:var(--mava-wine); font-size:10px; font-weight:800; letter-spacing:.06em; }
.review-empty { grid-column:1/-1; padding:34px; border:1px dashed var(--mava-gold); color:var(--mava-wine); }
.reviews-split { padding:78px 0; background:#fff; }
.reviews-split>.container { display:grid; grid-template-columns:1fr 1px 1fr; gap:38px; }
.reviews-divider { background:var(--mava-rose); }
.review-column h2 { margin:7px 0 9px; color:var(--mava-wine); font-size:34px; }.review-column h2 em { color:var(--mava-wine-2); font-style:normal; }.review-column>p:not(.academy-kicker) { margin:0 0 20px; color:#765d65; line-height:1.6; }
.review-select { margin-bottom:20px; border-color:var(--mava-rose); background:var(--mava-pink); color:var(--mava-wine); }
.review-list { display:grid; gap:14px; transition:opacity .2s ease; }.review-list.is-loading { opacity:.4; }
.linked-review { display:grid; grid-template-columns:72px 1fr; gap:14px; padding:15px; border:1px solid var(--mava-pink); border-radius:8px; background:#fff; transition:transform .2s ease,box-shadow .2s ease; }.linked-review:hover { transform:translateY(-2px); box-shadow:0 12px 22px rgba(90,31,45,.09); }
.linked-review-image { width:72px; height:72px; overflow:hidden; border-radius:8px; background:var(--mava-wine); }.linked-review-image img { width:100%; height:100%; object-fit:cover; }.linked-review-image span { display:grid; height:100%; place-items:center; color:var(--mava-gold); font-size:32px; }
.mava-experience { padding:82px 0; background:var(--mava-paper); }
.mava-experience-intro { max-width:650px; margin:0 auto 34px; text-align:center; }
.mava-experience-intro h2 { margin:8px 0 12px; color:var(--mava-wine); font-size:clamp(46px,6vw,72px); }
.mava-experience-intro h2 em,.mava-experience-panel h3 em { color:var(--mava-wine-2); font-style:normal; }
.mava-experience-intro>p:last-child { margin:0; color:#765d65; line-height:1.65; }
.mava-experience-tabs { display:flex; justify-content:center; gap:28px; margin:0 auto 30px; border-bottom:1px solid rgba(90,31,45,.25); }
.mava-experience-tabs button { position:relative; border:0; background:transparent; color:#765d65; padding:12px 2px 14px; font:inherit; font-size:13px; font-weight:800; cursor:pointer; }
.mava-experience-tabs button::after { position:absolute; right:0; bottom:-1px; left:0; height:2px; background:var(--mava-wine); content:""; transform:scaleX(0); transition:transform .2s ease; }
.mava-experience-tabs button.active { color:var(--mava-wine); }
.mava-experience-tabs button.active::after { transform:scaleX(1); }
.mava-experience-panel { min-height:330px; }
.mava-experience-panel-head { display:grid; grid-template-columns:1fr minmax(220px,320px); gap:24px; align-items:end; margin-bottom:24px; }
.mava-experience-panel h3 { margin:6px 0 8px; color:var(--mava-wine); font-size:36px; }
.mava-experience-panel-head>div>p:last-child { margin:0; color:#765d65; line-height:1.6; }
.mava-experience-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
[x-cloak] { display:none !important; }
.linked-review header { display:flex; justify-content:space-between; gap:10px; }.linked-review header small { color:var(--mava-wine-2); font-size:10px; font-weight:800; text-transform:uppercase; }.linked-review strong { display:block; margin-top:6px; color:var(--mava-wine); font-size:13px; }.linked-review p { margin:7px 0; color:#765d65; font-size:12px; line-height:1.55; }.linked-review footer { color:#765d65; font-size:11px; }.review-list-empty { padding:24px; border:1px dashed var(--mava-gold); color:#765d65; text-align:center; }
@media (max-width:900px) { .reviews-split>.container { grid-template-columns:1fr; }.reviews-divider { width:100%; height:1px; }.reviews-split,.mava-experience { padding:52px 0; }.mava-experience-panel-head { grid-template-columns:1fr; } }
@media (max-width:560px) { .mava-experience-tabs { justify-content:flex-start; gap:18px; overflow-x:auto; }.mava-experience-tabs button { flex:0 0 auto; }.mava-experience-panel h3 { font-size:30px; } }

.backoffice-menu-toggle,.sidebar-close,.sidebar-backdrop { display:none; }

@media (max-width:1024px) {
  .admin-shell { display:block; }
  .backoffice-menu-toggle { position:fixed; z-index:55; top:14px; left:14px; display:block; width:46px; height:46px; border:1px solid var(--mava-wine); border-radius:8px; background:var(--mava-wine); color:#fff; box-shadow:0 10px 24px rgba(90,31,45,.22); cursor:pointer; }
  .backoffice-menu-toggle span { display:block; width:20px; height:2px; margin:4px auto; background:currentColor; }
  .sidebar-backdrop { position:fixed; z-index:50; inset:0; display:block; background:rgba(29,29,29,.42); backdrop-filter:blur(2px); }
  .sidebar { position:fixed; z-index:60; top:0; bottom:0; left:0; width:min(310px,calc(100vw - 52px)); height:100dvh; overflow-y:auto; padding:18px 14px; transform:translateX(-105%); transition:transform .25s ease; box-shadow:14px 0 34px rgba(45,16,25,.28); }
  .sidebar.is-open { transform:translateX(0); }
  .sidebar-brand { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding:4px 8px 18px; margin-bottom:10px; }
  .sidebar-close { display:grid; width:34px; height:34px; place-items:center; border:1px solid rgba(255,255,255,.45); border-radius:8px; background:transparent; color:#fff; font-size:25px; line-height:1; cursor:pointer; }
  .sidebar-footer { position:static; margin-top:22px; }
  .main { min-width:0; max-width:none; padding:82px 24px 28px; }
  .page-heading { padding-left:58px; }
  .dashboard-grid { grid-template-columns:minmax(0,1fr) minmax(280px,.7fr); }
  .dashboard-grid.equal { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pos-grid { grid-template-columns:minmax(0,1fr) 330px; }
  .pos-products-rich { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .invoice-preview { top:16px; }
}

@media (min-width:768px) and (max-width:900px) {
  .stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pos-grid { grid-template-columns:1fr; }
  .pos-products-rich { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .invoice-preview { position:static; }
  .pos-search-actions { width:100%; }
  .quick-actions { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width:767px) {
  .main { padding:76px 12px 20px; }
  .page-heading { padding-left:54px; }
  .page-heading > .btn { width:100%; }
  .page-heading { gap:10px; margin-bottom:16px; }.page-heading .section-title { font-size:34px; }
  .stats { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }.stat-card { min-height:132px; }.stat-card .stat-value { font-size:24px; }
  .dashboard-grid,.dashboard-grid.equal,.pos-grid { grid-template-columns:1fr; gap:12px; margin-top:12px; }
  .pos-toolbar,.search-panel { align-items:stretch; flex-direction:column; gap:12px; }.pos-search-actions { width:100%; min-width:0; }.inline-form { width:100%; max-width:none; flex-wrap:wrap; }.inline-form .input { flex:1 1 160px; }.inline-form .btn { flex:1 1 130px; }
  .pos-products,.pos-products-rich { grid-template-columns:1fr; gap:9px; }.pos-products-rich { max-height:52vh; }.pos-product-rich { min-height:0; padding:14px; }
  .invoice-preview { position:static; }.invoice-line { align-items:flex-start; flex-direction:column; }.invoice-line-actions { width:100%; justify-content:space-between; }.invoice-line-actions .discount-line { flex:1; }.discount-line .input { width:100%; }
  .quick-actions { grid-template-columns:1fr; }.quick-action { min-height:56px; }
  .card-body { padding:16px; }.panel-title { align-items:flex-start; flex-direction:column; gap:7px; }
  .table-wrap { margin-right:-4px; }.table-toolbar,.inventory-search { align-items:stretch; flex-direction:column; }.inventory-search label { min-width:0; }.inventory-search .btn,.inventory-export-actions,.inventory-export-actions .btn { width:100%; }.inventory-export-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }.inventory-export-actions .export-button { min-width:0; justify-content:center; gap:5px; padding:0 7px; white-space:normal; text-align:center; font-size:11px; }.mava-page-summary { display:none; }.mava-page-numbers a,.mava-page-numbers .is-current { min-width:31px; width:31px; height:31px; padding:0; }.mava-page-arrow { width:31px; min-width:31px; height:31px; }.agenda-item { grid-template-columns:62px 1fr; gap:12px; }.agenda-action { grid-column:1 / -1; grid-template-columns:1fr; }
  .manual-appointment-form,.appointment-toolbar .inline-form { grid-template-columns:1fr; }
}

@media (max-width:430px) {
  .stats { grid-template-columns:1fr; }.stat-card { min-height:0; }
  .backoffice-menu-toggle { top:10px; left:10px; }
  .page-heading .section-title { font-size:30px; }
  .invoice-head { align-items:flex-start; flex-direction:column; }
}

.web-orders-list { display:grid; gap:16px; }
.web-order-card { overflow:hidden; border:1px solid #ead0d8; border-radius:8px; background:#fff; box-shadow:0 7px 16px rgba(90,31,45,.05); }
.web-order-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:20px; border-bottom:1px solid #f0dde3; }.web-order-head .eyebrow { margin-bottom:6px; }.web-order-head h2 { margin:0; color:var(--mava-wine); font-size:21px; }.web-order-head small { color:#765d65; }.web-order-head>div:last-child { display:grid; justify-items:end; gap:9px; }.web-order-total { color:var(--mava-wine-2); font-size:19px; }
.web-order-grid { display:grid; grid-template-columns:1.1fr .9fr; gap:20px; padding:20px; }.web-order-grid h3 { margin:0 0 11px; color:var(--mava-wine); font-size:14px; }.web-order-items { display:grid; gap:8px; margin:0; padding:0; list-style:none; }.web-order-items li { display:flex; justify-content:space-between; gap:12px; padding:10px; border:1px solid #f0dde3; border-radius:7px; background:#fffafc; }.web-order-items small { display:block; margin-top:3px; color:#765d65; font-size:11px; }.web-order-address { display:grid; gap:6px; padding:13px; border-left:3px solid var(--mava-wine); background:var(--mava-pink); color:var(--mava-ink); font-style:normal; line-height:1.4; }.web-order-address strong { color:var(--mava-wine); }.web-order-address small { margin-top:5px; color:#765d65; }.web-order-missing { margin:0; padding:13px; border:1px dashed var(--mava-rose); color:#765d65; }
.web-order-actions { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 20px; border-top:1px solid #f0dde3; background:#fffafc; }.web-order-actions summary { color:var(--mava-wine); font-size:12px; font-weight:800; cursor:pointer; }.web-order-detail { max-width:510px; margin-top:10px; color:#765d65; font-size:12px; line-height:1.55; }.web-order-buttons,.web-order-buttons form { display:flex; align-items:center; gap:8px; }.web-order-buttons select { min-height:38px; padding:7px 9px; font-size:12px; }
@media (max-width:767px) { .web-order-head,.web-order-actions { align-items:stretch; flex-direction:column; }.web-order-head>div:last-child { justify-items:start; }.web-order-grid { grid-template-columns:1fr; gap:16px; padding:16px; }.web-order-actions { padding:14px 16px; }.web-order-buttons,.web-order-buttons form { align-items:stretch; flex-direction:column; }.web-order-buttons .btn,.web-order-buttons select { width:100%; }.web-order-items li { align-items:flex-start; flex-direction:column; gap:5px; } }
.brand-settings-form { display:grid; gap:18px; }.brand-settings-form .card { display:grid; gap:16px; }.brand-settings-form label { display:grid; gap:6px; color:var(--mava-wine); font-size:12px; font-weight:800; }.settings-help { margin:0; color:#765d65; font-size:12px; line-height:1.5; }
.admin-shortcut-groups { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }.admin-shortcut-groups section { padding:16px; border:1px solid #efdce2; border-radius:8px; background:#fffafc; }.admin-shortcut-groups h3 { margin:0 0 12px; color:var(--mava-wine); font-size:14px; }.admin-shortcut-groups section>div { display:grid; gap:8px; }.admin-shortcut-groups .quick-action { min-height:52px; }
@media (max-width:1024px) { .admin-shortcut-groups { grid-template-columns:1fr 1fr; }.admin-shortcut-groups section:last-child { grid-column:1/-1; } }
@media (max-width:767px) { .admin-shortcut-groups { grid-template-columns:1fr; }.admin-shortcut-groups section:last-child { grid-column:auto; } }
.cart-line { display:grid; grid-template-columns:minmax(0,1fr) auto auto; align-items:center; gap:18px; padding:16px 0; border-bottom:1px solid #efdce2; }.cart-line-product { display:flex; min-width:0; align-items:center; gap:12px; }.cart-line-product img,.cart-line-product>span { width:62px; height:62px; flex:0 0 62px; border-radius:8px; object-fit:cover; }.cart-line-product>span { display:grid; place-items:center; background:var(--mava-pink); color:var(--mava-wine); font-size:30px; }.cart-line-product strong,.cart-line-product small { display:block; }.cart-line-product small { margin-top:4px; color:#765d65; font-size:11px; }.cart-quantity { display:flex; align-items:end; gap:7px; }.cart-quantity label { display:grid; gap:4px; color:#765d65; font-size:11px; font-weight:800; }.cart-quantity .input { width:70px; min-height:38px; }.cart-quantity .btn { min-height:38px; padding:0 10px; font-size:11px; }.cart-line-total { display:grid; justify-items:end; gap:8px; color:var(--mava-wine-2); }.cart-remove { border:0; background:transparent; color:var(--mava-wine); font:inherit; font-size:12px; font-weight:800; cursor:pointer; text-decoration:underline; }.cart-summary { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:22px; padding:18px; border:1px solid var(--mava-rose); border-radius:8px; background:var(--mava-pink); }.cart-summary span,.cart-summary strong { display:block; }.cart-summary strong { margin-top:4px; color:var(--mava-wine); font-size:24px; }
.checkout-layout { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:24px; align-items:start; }.checkout-summary { position:sticky; top:24px; }.checkout-summary p,.checkout-summary>div { display:flex; justify-content:space-between; gap:10px; color:#765d65; font-size:13px; }.checkout-summary>div { margin-top:15px; padding-top:15px; border-top:1px solid #efdce2; color:var(--mava-wine); font-size:17px; }.payment-redirect { text-align:center; padding:36px; }.payment-redirect .section-title { margin-bottom:12px; }.payment-redirect p { color:#765d65; line-height:1.65; }.payment-redirect-note { font-size:12px; }
@media (max-width:767px) { .cart-line { grid-template-columns:1fr auto; gap:12px; }.cart-quantity { grid-column:1/-1; }.cart-line-total { grid-column:2; grid-row:1; }.cart-summary { align-items:stretch; flex-direction:column; }.cart-summary .btn { width:100%; }.checkout-layout { grid-template-columns:1fr; }.checkout-summary { position:static; }.payment-redirect { padding:24px 18px; } }
@media (max-width:767px) { .completed-sale-dialog { padding:20px 16px; }.completed-sale-head,.completed-sale-lines article,.completed-sale-actions { align-items:stretch; flex-direction:column; }.completed-sale-lines article > div:last-child { text-align:left; }.completed-sale-actions .btn { width:100%; }.report-filters { align-items:stretch; flex-direction:column; }.report-filters .btn { width:100%; }.report-grid { grid-template-columns:1fr; }.report-payment-list { grid-template-columns:1fr; } }

.cash-total-hero { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(240px,.65fr); overflow:hidden; margin-bottom:16px; background:var(--mava-wine); color:#fff; box-shadow:0 16px 38px rgba(90,31,45,.18); }
.cash-total-hero>div { display:grid; align-content:center; min-height:178px; padding:28px 32px; }
.cash-total-hero .eyebrow { color:#FFD6DE; }
.cash-total-hero>div>strong { font-family:"Playfair Display",Georgia,serif; font-size:56px; line-height:1; }
.cash-total-hero>div>span,.cash-total-hero small { margin-top:10px; color:#FFD6DE; }
.cash-total-withdrawals { border-left:1px solid rgba(255,214,222,.25); background:#7B1D2B; }
.cash-total-withdrawals span { color:#FFD6DE; font-size:12px; font-weight:800; text-transform:uppercase; }
.cash-total-withdrawals strong { margin-top:9px; font-size:30px !important; }
.cash-global-hero { grid-template-columns:minmax(0,1fr) minmax(430px,1fr); }
.cash-global-breakdown { grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; border-left:1px solid rgba(255,214,222,.25); background:#7B1D2B; }
.cash-global-breakdown>span { grid-column:1/-1; margin:0 !important; color:#FFD6DE; font-size:12px; font-weight:900; text-transform:uppercase; }
.cash-global-breakdown>div { display:grid; align-content:center; min-width:0; padding:12px; border:1px solid rgba(255,214,222,.22); border-radius:7px; background:rgba(255,255,255,.05); }
.cash-global-breakdown small { margin:0; font-size:10px; font-weight:800; text-transform:uppercase; }
.cash-global-breakdown strong { margin-top:6px; font-size:20px; overflow-wrap:anywhere; }
.cash-report-block { margin-top:34px; }
.cash-account-block { margin-top:42px; padding-top:34px; border-top:2px solid #efdce2; }
.cash-block-heading { display:flex; align-items:end; justify-content:space-between; gap:18px; margin-bottom:16px; }
.cash-block-heading .section-title { margin:1px 0 5px; font-size:36px; }
.cash-block-heading p { margin:0; color:#765d65; line-height:1.5; }
.cash-balance-chip { flex:0 0 auto; padding:10px 13px; border:1px solid #F582C1; border-radius:7px; background:#FFD6DE; color:#7B1D2B; font-size:12px; font-weight:900; }
.cash-report-dashboard { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(330px,.8fr); gap:18px; margin-top:18px; }
.cash-chart-wrap { position:relative; height:310px; }
.cash-actions-card { display:grid; align-content:start; }
.cash-actions-head { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.cash-actions-head h2 { margin:0; color:var(--mava-wine); }
.cash-actions-card>p { color:#765d65; line-height:1.5; }
.cash-permission-badge { padding:6px 8px; border:1px solid #F582C1; border-radius:6px; background:#FFD6DE; color:#7B1D2B; font-size:10px; font-weight:900; text-transform:uppercase; }
.cash-action-buttons { display:grid; gap:9px; margin-top:12px; }
.cash-action-button { display:grid; grid-template-columns:42px 1fr; gap:2px 12px; align-items:center; min-height:66px; border:1px solid #efdce2; border-radius:8px; padding:10px 12px; background:#fff; color:var(--mava-wine); text-align:left; cursor:pointer; transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.cash-action-button:hover:not(:disabled) { transform:translateY(-2px); border-color:#C7385B; box-shadow:0 8px 18px rgba(90,31,45,.09); }
.cash-action-button>span { grid-row:1/3; display:grid; width:42px; height:42px; place-items:center; border-radius:7px; background:#FFD6DE; color:#7B1D2B; font-size:22px; font-weight:900; }
.cash-action-button strong { align-self:end; }
.cash-action-button small { align-self:start; color:#765d65; }
.cash-action-button.is-full>span { background:#7B1D2B; color:#fff; }
.cash-action-button:disabled { cursor:not-allowed; opacity:.46; }
.cash-access-note { margin:12px 0 0; padding:10px; border-left:3px solid #C7385B; background:#fff8fa; font-size:11px; }
.cash-history-section { margin-top:18px; }
.cash-history-copy { margin:-7px 0 15px; color:#765d65; font-size:12px; }
.cash-history-table { max-height:470px; }
.cash-history-table .table { min-width:1120px; }
.cash-history-table thead th { position:sticky; top:0; z-index:2; }
.cash-history-table small { color:#765d65; }
.cash-reason-cell { min-width:240px; max-width:340px; white-space:normal !important; line-height:1.45; }
.cash-movement-kind { display:inline-flex; padding:5px 8px; border-radius:6px; font-size:10px; font-weight:900; text-transform:uppercase; }
.cash-movement-kind.is-income { background:#FFD6DE; color:#7B1D2B; }
.cash-movement-kind.is-withdrawal { background:#7B1D2B; color:#fff; }
.cash-amount-cell { font-weight:900; }
.cash-amount-cell.is-income { color:#C7385B; }
.cash-amount-cell.is-withdrawal { color:#7B1D2B; }
.cash-movement-form { display:grid; gap:14px; }
.cash-movement-form label { display:grid; gap:6px; color:var(--mava-wine); font-size:12px; font-weight:800; }
.cash-movement-form textarea { min-height:110px; resize:vertical; }
.cash-modal-balance { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px; border:1px solid #efdce2; border-radius:7px; background:#fff8fa; color:#765d65; }
.cash-modal-balance strong { color:var(--mava-wine); font-size:22px; }
.cash-full-warning { padding:13px; border:1px solid #C7385B; border-radius:7px; background:#FFD6DE; color:#7B1D2B; font-size:12px; font-weight:800; line-height:1.5; }
.cash-withdrawal-restricted { display:grid; align-content:center; gap:5px; padding:13px; border:1px solid #efdce2; border-radius:7px; background:#fff8fa; color:var(--mava-wine); }
.cash-withdrawal-restricted small { color:#765d65; line-height:1.45; }

@media (max-width:1024px) {
  .cash-global-hero { grid-template-columns:1fr; }
  .cash-global-breakdown { border-top:1px solid rgba(255,214,222,.25); border-left:0; }
  .cash-report-dashboard { grid-template-columns:1fr; }
}

@media (max-width:767px) {
  .cash-total-hero { grid-template-columns:1fr; }
  .cash-total-hero>div { min-height:140px; padding:22px 18px; }
  .cash-total-hero>div>strong { font-size:40px; }
  .cash-total-withdrawals { border-top:1px solid rgba(255,214,222,.25); border-left:0; }
  .cash-global-breakdown { grid-template-columns:1fr; }
  .cash-global-breakdown>span { grid-column:auto; }
  .cash-global-breakdown>div { min-height:78px; }
  .cash-block-heading { align-items:flex-start; flex-direction:column; }
  .cash-block-heading .section-title { font-size:30px; }
  .cash-report-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cash-chart-wrap { height:260px; }
  .cash-actions-head { align-items:stretch; flex-direction:column; }
  .cash-permission-badge { align-self:flex-start; }
  .cash-movement-modal { padding:20px 16px; }
}

@media (max-width:430px) {
  .cash-report-stats { grid-template-columns:1fr; }
}

/* Administrative discount controls */
.discount-report-section{margin:18px 0}.discount-report-heading{align-items:center;display:flex;gap:14px;justify-content:space-between}.discount-report-summary{background:#f8e9ed;border:1px solid #eccbd4;border-radius:6px;color:#7b1d2b;font-size:.78rem;font-weight:800;padding:7px 10px}.discount-report-copy{color:#765d65;margin:4px 0 16px}.discount-full-row{background:#fff7f9}.discount-full-row td:first-child{box-shadow:inset 3px 0 #7b1d2b}.discount-total-badge{background:#7b1d2b;color:#fff}
@media (max-width:700px){.discount-report-heading{align-items:flex-start;flex-direction:column}.discount-report-summary{line-height:1.45;width:100%}}

/* POS returns */
.return-stats { margin-bottom:18px; }
.return-search-card { display:grid; grid-template-columns:minmax(260px,.8fr) minmax(380px,1.2fr); align-items:end; gap:24px; margin-bottom:18px; border-left:4px solid var(--mava-wine-2); }
.return-search-card h2,.return-details-card h2,.return-items-card h2 { margin:0; color:var(--mava-wine); }
.return-search-card p:last-child { margin:7px 0 0; color:#765d65; }
.return-search-form { display:flex; align-items:center; gap:9px; }
.return-search-form .input { flex:1; min-width:0; }
.return-sales-section,.return-history-section,.return-report-section { margin-top:18px; }
.return-sales-table { max-height:min(62vh,680px); }
.return-sales-table .table { min-width:1380px; }
.return-history-table { max-height:560px; }
.return-history-table .table { min-width:1420px; }
.return-report-table { max-height:500px; }
.return-report-table .table { min-width:1100px; }
.return-review-button { min-height:34px; padding:0 11px; white-space:nowrap; font-size:11px; }
.status-pill.return-available { background:#e8f4ed; color:#28633f; }
.status-pill.return-partial { background:#fff0d9; color:#8a5900; }
.status-pill.return-complete { background:#f7dce4; color:#8b1731; }
.table-action.is-disabled { color:#9b858c; cursor:not-allowed; text-decoration:none; }
.return-notes-cell { max-width:260px; white-space:normal !important; line-height:1.45; }
.return-negative { color:#9a1530; }
.return-sale-summary { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); overflow:hidden; margin-bottom:18px; background:#7B1D2B; color:#fff; }
.return-sale-summary>div { display:grid; gap:7px; min-height:92px; align-content:center; padding:16px; border-right:1px solid rgba(255,214,222,.24); }
.return-sale-summary>div:last-child { border-right:0; }
.return-sale-summary span { color:#FFD6DE; font-size:10px; font-weight:900; text-transform:uppercase; }
.return-sale-summary strong { font-size:15px; overflow-wrap:anywhere; }
.prior-returns { margin-bottom:18px; }
.prior-return-list { display:grid; gap:8px; }
.prior-return-list article { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:10px 12px; border:1px solid #efdce2; border-radius:7px; background:#fff8fa; }
.prior-return-list article>div { display:grid; gap:3px; }
.prior-return-list article>div:last-child { justify-items:end; }
.prior-return-list small,.prior-return-list span { color:#765d65; font-size:11px; }
.return-form { display:grid; gap:18px; }
.return-section-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:14px; }
.return-item-list { display:grid; gap:10px; }
.return-item-row { display:grid; grid-template-columns:minmax(280px,1.25fr) minmax(260px,.85fr) minmax(160px,.45fr); align-items:center; gap:18px; min-height:112px; padding:14px; border:1px solid #ead0d8; border-radius:8px; background:#fff; transition:border-color .18s ease,box-shadow .18s ease; }
.return-item-row:focus-within { border-color:#C7385B; box-shadow:0 8px 20px rgba(90,31,45,.08); }
.return-item-row.is-complete { background:#faf7f8; opacity:.7; }
.return-item-product { display:flex; align-items:center; gap:12px; min-width:0; }
.return-item-index { display:grid; width:42px; height:42px; flex:0 0 auto; place-items:center; border-radius:7px; background:#FFD6DE; color:#7B1D2B; font-size:12px; font-weight:900; }
.return-item-product h3 { margin:0 0 5px; color:var(--mava-wine); font-size:15px; }
.return-item-product p { margin:6px 0 0; color:#765d65; font-size:11px; }
.return-item-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); overflow:hidden; border:1px solid #efdce2; border-radius:7px; }
.return-item-metrics>div { display:grid; justify-items:center; gap:4px; padding:9px 5px; border-right:1px solid #efdce2; }
.return-item-metrics>div:last-child { border-right:0; }
.return-item-metrics span { color:#765d65; font-size:9px; font-weight:800; text-transform:uppercase; }
.return-item-metrics strong { color:var(--mava-wine); }
.return-quantity-control { display:grid; gap:5px; color:var(--mava-wine); font-size:11px; font-weight:800; }
.return-quantity-control .input { min-width:0; text-align:center; font-size:16px; font-weight:900; }
.return-quantity-control small { color:#765d65; font-size:10px; font-weight:400; }
.return-confirm-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.38fr); gap:18px; align-items:start; }
.return-details-card { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.return-details-card .eyebrow,.return-details-card h2 { grid-column:1/-1; }
.return-details-card label { display:grid; gap:6px; color:var(--mava-wine); font-size:12px; font-weight:800; }
.return-details-card label:last-child { grid-column:1/-1; }
.return-details-card textarea { min-height:100px; resize:vertical; }
.return-details-card label small { color:#765d65; font-size:10px; font-weight:400; }
.return-total-card { position:sticky; top:18px; display:grid; gap:13px; border-top:4px solid var(--mava-wine-2); }
.return-total-card>div { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:11px 0; border-bottom:1px solid #efdce2; color:#765d65; }
.return-total-card>div strong { color:var(--mava-wine); font-size:20px; }
.return-total-card .return-refund-total strong { font-size:28px; }
.return-total-card>p:not(.eyebrow) { margin:0; color:#765d65; font-size:11px; line-height:1.5; }
.return-total-card .btn:disabled { cursor:not-allowed; opacity:.45; transform:none; box-shadow:none; }

@media (max-width:1100px) {
  .return-item-row { grid-template-columns:1fr 1fr; }
  .return-item-product { grid-column:1/-1; }
  .return-sale-summary { grid-template-columns:repeat(3,minmax(0,1fr)); }
}

@media (max-width:767px) {
  .return-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .return-search-card,.return-confirm-grid { grid-template-columns:1fr; }
  .return-search-form { align-items:stretch; flex-direction:column; }
  .return-search-form .btn { width:100%; }
  .return-sale-summary { grid-template-columns:1fr 1fr; }
  .return-sale-summary>div { min-height:78px; border-right:0; border-bottom:1px solid rgba(255,214,222,.24); }
  .return-item-row { grid-template-columns:1fr; }
  .return-item-product { grid-column:auto; }
  .return-details-card { grid-template-columns:1fr; }
  .return-details-card>*,.return-details-card .eyebrow,.return-details-card h2,.return-details-card label:last-child { grid-column:auto; }
  .return-total-card { position:static; }
}

@media (max-width:430px) {
  .return-stats,.return-sale-summary { grid-template-columns:1fr; }
  .return-item-metrics { grid-template-columns:1fr; }
  .return-item-metrics>div { grid-template-columns:1fr auto; justify-items:start; border-right:0; border-bottom:1px solid #efdce2; }
  .return-item-metrics>div:last-child { border-bottom:0; }
  .prior-return-list article { align-items:flex-start; flex-direction:column; }
  .prior-return-list article>div:last-child { justify-items:start; }
}
