@font-face {
  font-family: 'AppleChanceryCustom';
  src: url('Apple Chancery.ttf') format('truetype');
  font-display: swap;
}

:root {
  --berry-50: #fff8fb;
  --berry-100: #fff0f6;
  --berry-200: #ffe2ee;
  --berry-300: #ffd1e3;
  --berry-400: #ffb8d3;
  --berry-500: #f58cb2;
  --berry-600: #e86c9a;
  --berry-700: #ba4b75;
  --berry-800: #7b3953;
  --ink: #5f4353;
}

html { scroll-behavior: smooth; }
body {
  font-family: Georgia, 'Times New Roman', serif;
  color: var(--ink);
  background:
    radial-gradient(circle at top left, rgba(255,255,255,0.85), transparent 32%),
    linear-gradient(180deg, #fff8fc 0%, #ffeef5 45%, #fff8fb 100%);
}

.brand-script,
.hero-title,
.section-title,
.mini-card h3,
.treat-card h3,
.visit-feature h3 {
  font-family: 'AppleChanceryCustom', 'Apple Chancery', 'URW Chancery L', cursive;
  font-weight: normal;
}

.section-space { padding: 6rem 0; }
.berry-nav {
  backdrop-filter: blur(12px);
  background: rgba(255, 248, 252, 0.88);
  border-bottom: 1px solid rgba(232, 108, 154, 0.12);
}
.brand-icon {
  width: 42px;
  height: 42px;
  object-fit: contain;
}
.brand-script {
  font-size: 2rem;
  color: var(--berry-700);
  line-height: 1;
}
.nav-link {
  color: var(--ink);
  font-weight: 600;
}
.nav-link:hover,
.nav-link:focus { color: var(--berry-700); }

.hero-section {
  padding: 6rem 0 5rem;
  position: relative;
}
.eyebrow,
.section-kicker {
  display: inline-block;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-size: 0.78rem;
  font-weight: 700;
  color: var(--berry-700);
}
.hero-title {
  font-size: clamp(3rem, 6vw, 5.25rem);
  color: var(--berry-700);
  line-height: 0.95;
}
.hero-copy,
.section-heading p,
#about p,
#cakes p,
#visit p {
  font-size: 1.08rem;
  line-height: 1.8;
}
.hero-badges span {
  display: inline-flex;
  padding: 0.65rem 1rem;
  border-radius: 999px;
  background: rgba(255,255,255,0.75);
  border: 1px solid rgba(232,108,154,0.18);
  box-shadow: 0 10px 30px rgba(232,108,154,0.08);
  font-size: 0.95rem;
}

.berry-carousel,
.image-frame,
.gallery-frame,
.visit-feature,
.contact-panel {
  border-radius: 2rem;
}
.berry-carousel img {
  height: 520px;
  object-fit: cover;
}
.soft-shadow {
  box-shadow: 0 25px 60px rgba(167, 91, 126, 0.18);
}
.separator-wrap {
  max-width: 100%;
  overflow: hidden;
}
.separator-wrap img {
  width: 100%;
  display: block;
  opacity: 0.9;
}
.blush-panel {
  background: linear-gradient(180deg, rgba(255,240,246,0.82), rgba(255,247,251,0.92));
}
.section-heading { max-width: 760px; }
.section-title {
  font-size: clamp(2.2rem, 4.7vw, 4rem);
  color: var(--berry-700);
}
.mini-card,
.treat-card {
  background: rgba(255,255,255,0.75);
  border: 1px solid rgba(232,108,154,0.14);
  border-radius: 1.5rem;
  padding: 1.5rem;
  box-shadow: 0 18px 40px rgba(167, 91, 126, 0.08);
}
.mini-card h3,
.treat-card h3,
.visit-feature h3 {
  color: var(--berry-700);
  font-size: 1.75rem;
  margin-bottom: 0.65rem;
}
.mini-card p,
.treat-card p,
.visit-feature p,
.contact-card,
.contact-grid {
  line-height: 1.7;
}
.treat-thumb {
  width: 100%;
  height: 210px;
  object-fit: cover;
  border-radius: 1.25rem;
  margin-bottom: 1rem;
}
.visit-feature {
  background: rgba(255,255,255,0.8);
  border: 1px solid rgba(232,108,154,0.14);
  box-shadow: 0 20px 45px rgba(167, 91, 126, 0.08);
}
.visit-icon {
  width: 70px;
  height: 70px;
  object-fit: contain;
}
.visit-list > div {
  margin-bottom: 0.9rem;
  padding-left: 1rem;
  border-left: 3px solid var(--berry-400);
}
.contact-panel {
  background: linear-gradient(135deg, #c95e89 0%, #e985ae 100%);
  padding: 3rem;
  box-shadow: 0 25px 60px rgba(167, 91, 126, 0.22);
}
.contact-card {
  background: rgba(255,255,255,0.95);
  border-radius: 1.5rem;
  padding: 1.5rem;
  box-shadow: 0 16px 40px rgba(88, 42, 62, 0.18);
}
.form-control {
  border-radius: 1rem;
  border-color: rgba(201, 94, 137, 0.18);
  padding: 0.9rem 1rem;
}
.form-control:focus {
  box-shadow: 0 0 0 0.25rem rgba(233, 133, 174, 0.18);
  border-color: var(--berry-400);
}
.btn-berry {
  background: linear-gradient(135deg, var(--berry-600), #ff9abd);
  border: none;
  color: white;
  box-shadow: 0 12px 28px rgba(201, 94, 137, 0.28);
}
.btn-berry:hover,
.btn-berry:focus {
  color: white;
  background: linear-gradient(135deg, #d45f92, #ff86b0);
}
.btn-outline-berry {
  border: 1px solid rgba(201, 94, 137, 0.3);
  color: var(--berry-700);
  background: rgba(255,255,255,0.72);
}
.btn-outline-berry:hover,
.btn-outline-berry:focus {
  background: var(--berry-200);
  color: var(--berry-700);
  border-color: var(--berry-500);
}
.footer {
  padding-top: 2rem;
  background: transparent;
  color: var(--ink);
}
.footer a {
  color: var(--berry-700);
  text-decoration: none;
}
.footer a:hover { text-decoration: underline; }

@media (max-width: 991.98px) {
  .hero-section { padding-top: 4rem; }
  .berry-carousel img { height: 380px; }
}

@media (max-width: 575.98px) {
  .section-space { padding: 4.25rem 0; }
  .contact-panel { padding: 1.5rem; }
  .brand-script { font-size: 1.6rem; }
  .berry-carousel img { height: 300px; }
}
