@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;0,600;0,700;1,500&family=Jost:wght@300;400;500;600;700&display=swap');

:root{
  --gold-shadow:#B68E16; --gold-base:#D4A017; --gold-deep:#8f6d10;
  --teal:#12A3A5; --teal-deep:#0A5F60;
  --warm-white:#F8F6F0; --ink:#181511; --text-soft:#4a4438;
  --hairline:rgba(24,21,17,0.14);
}
*{box-sizing:border-box;}
body{ margin:0; background:var(--warm-white); color:var(--ink); font-family:'Jost', sans-serif; padding:40px 20px 64px; }
.wrap{ max-width:720px; margin:0 auto; }

.header{ text-align:center; margin-bottom:32px; }
.eyebrow{ font-size:0.72rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--gold-deep); }
h1{ font-family:'Cormorant Garamond', serif; font-weight:700; font-style:italic; color:var(--teal-deep);
    font-size:clamp(1.8rem,5vw,2.6rem); margin:4px 0 12px; }
.rule{ width:140px; height:1px; background:var(--gold-base); margin:0 auto 14px; }

.tabs{ display:flex; justify-content:center; gap:8px; margin-bottom:28px; flex-wrap:wrap; }
.tabs a{
  display:inline-block; padding:8px 16px; border-radius:20px; font-size:0.85rem; font-weight:500;
  text-decoration:none; color:var(--ink); border:1px solid var(--hairline); background:#fff;
}
.tabs a.active{ background:var(--teal-deep); color:#fff; border-color:var(--teal-deep); }

.card{ background:#fffdf8; border:1px solid var(--hairline); border-radius:12px; padding:20px 22px; margin-bottom:14px; box-shadow:0 2px 8px rgba(24,21,17,0.05); }

.stars{ color:var(--gold-base); letter-spacing:2px; font-size:1rem; }
.stars .empty{ color:#d8d0ba; }
.review-date{ font-size:0.72rem; color:#8a8272; }
.review-text{ margin:10px 0; font-size:0.92rem; line-height:1.6; }
.review-meta{ font-size:0.78rem; font-weight:600; color:var(--teal-deep); }

.empty-state{ text-align:center; color:var(--text-soft); font-size:0.9rem; padding:40px 0; }

label{ display:block; font-size:0.7rem; font-weight:600; letter-spacing:0.06em; text-transform:uppercase; color:var(--text-soft); margin-bottom:5px; }
input[type=text], select, textarea, input[type=password]{
  width:100%; padding:10px 12px; border-radius:8px; border:1px solid var(--hairline);
  font-family:'Jost', sans-serif; font-size:0.9rem; margin-bottom:16px; background:#fff; color:var(--ink);
}
textarea{ resize:vertical; min-height:100px; }

.star-picker{ display:flex; gap:4px; margin-bottom:16px; font-size:1.8rem; }
.star-picker label{ cursor:pointer; color:#d8d0ba; margin:0; font-size:inherit; }
.star-picker input{ display:none; }
.star-picker input:checked ~ label,
.star-picker label:hover,
.star-picker label:hover ~ label{ color:var(--gold-base); }
.star-picker{ flex-direction:row-reverse; justify-content:flex-end; }

button, .btn{
  display:inline-block; width:100%; padding:11px; border:none; border-radius:8px;
  font-family:'Jost', sans-serif; font-size:0.9rem; font-weight:600; color:#fff; cursor:pointer;
  background:linear-gradient(100deg, var(--gold-deep), var(--gold-base));
  text-align:center; text-decoration:none;
}
button.teal, .btn.teal{ background:linear-gradient(100deg, var(--teal-deep), var(--teal)); }
button.ghost, .btn.ghost{ background:#eee; color:#8a1f1f; width:auto; padding:8px 14px; font-size:0.8rem; }
button.small, .btn.small{ width:auto; padding:8px 14px; font-size:0.8rem; }

.actions{ display:flex; gap:8px; margin-top:12px; }
.note{ font-size:0.78rem; color:var(--text-soft); text-align:center; margin-top:10px; }
.flash-error{ background:#fde8e8; color:#8a1f1f; padding:10px 14px; border-radius:8px; font-size:0.85rem; margin-bottom:20px; text-align:center; }
.flash-success{ background:#e3f4f2; color:var(--teal-deep); padding:10px 14px; border-radius:8px; font-size:0.85rem; margin-bottom:20px; text-align:center; }

.admin-topbar{ display:flex; justify-content:space-between; align-items:center; margin-bottom:24px; }
.admin-topbar h2{ font-family:'Cormorant Garamond', serif; font-size:1.4rem; margin:0; }
