/* Classique Sweets: pink canvas with pale blush surfaces. */
:root {
  --cream: #fce8f0;
  --rose: #f9dce7;
  --rose-deep: #efb8ce;
  --pink: #f3bed2;
  --pink-hover: #edaec7;
  --wine: #733752;
  --rose-heading: #793a57;
  --ink: #4e3041;
  --muted: #674457;
  --gold: #936b50;
  --line: #d9a9bd;
  --page-pink: #f9dce7;
  --petal: #fce8f0;
  --rose-panel: #f2c4d6;
  --porcelain: #fce8f0;
}

body { background: var(--page-pink); }
::selection { background: #e6a2bf; color: #452839; }
button:focus-visible, a:focus-visible, input:focus-visible,
textarea:focus-visible, select:focus-visible { outline-color: var(--wine); }
.announcement { background: #edb2cb; color: var(--ink); }
.site-header { background: #f5ccdc; border-color: var(--line); }
.brand-name { color: var(--wine); }
h1 em, h2 em { color: var(--rose-heading); }
.mobile-menu:not([hidden]) { background: var(--petal); }
.menu-toggle { background: #fce8f0cc; border-color: #c68da6; }
.menu-toggle[aria-expanded=true] { background: var(--porcelain); }

/* Pale blush buttons remain visible against the pink canvas. */
.button, .home-page .cake-order-button {
  background: var(--porcelain); color: var(--wine); border-color: #b97b98;
  box-shadow: 0 4px 15px #8545650a;
}
.button:hover, .home-page .cake-order-button:hover {
  background: #f7d7e5; color: var(--wine); border-color: var(--wine);
  box-shadow: 0 6px 20px #85456516;
}
.button-outline { background: transparent; color: var(--wine); border-color: #ad708d; box-shadow: none; }
.button-outline:hover { background: var(--porcelain); color: var(--wine); border-color: var(--wine); }
.collection-filters button:hover, body .cg-filters button:hover { background: #fce8f0dd; color: var(--wine); }
.collection-filters button.selected, .home-page .collection-filters button.selected,
body .cg-filters button[aria-pressed=true] {
  background: var(--porcelain); color: var(--wine); border-color: #b97b98;
}

/* Rose panels give the long pages a clear, tonal rhythm. */
.sweet-strip, .home-page .sweet-strip, .sweets-page .category-nav {
  background: var(--rose-panel); color: var(--wine); border-color: var(--line);
}
.studio, .home-page .studio, .sweets-page .cupcakes-section,
.om-hawra-page .about-details, .open-workshop-section {
  background: var(--rose-panel); border-color: var(--line);
}
.studio-seal { background: #fce8f099; border-color: #bd849f; }
.studio-discovery { background: var(--petal); border-color: var(--line); }
.workshop-note { background: var(--porcelain); border-color: var(--line); }
.cake-order-panel { background: var(--porcelain); border-color: var(--line); }
.home-page .cake-order-panel .cake-order-button { background: var(--pink); border-color: #bd849f; color: var(--ink); }
.home-page .cake-order-panel .cake-order-button:hover { background: var(--pink-hover); }
.about-brand-card { background: #efb8ce; border-color: #bf8a9f; }
.kontakt-page .contact-order-card { background: var(--porcelain); border-color: var(--line); }
.event-practical { background: #fce8f0dd; border-color: #b67c96; }
.event-workshop-inquiry { background: var(--porcelain); border-color: var(--line); }

/* A stronger rose finish frames the pale blush invitation buttons. */
.final-invitation, .pickup-section, .sweets-page .sweet-table,
.sweets-page .quote-card, body .cg-invitation {
  background: linear-gradient(120deg, #f1bdd1, #edb2cb);
  color: var(--ink); border-color: #d9a2b9;
}
.final-invitation .eyebrow, .pickup-section .eyebrow,
.sweets-page .quote-card > .eyebrow, .sweets-page .sweet-table > .eyebrow { color: #70435a; }
.final-invitation h2 em, .pickup-section h2 em,
.sweets-page .quote-card h3 em, .sweets-page .sweet-table h2 em { color: var(--wine); }
.sweets-page .quote-card h3 { color: var(--ink); }
.final-invitation p, .final-invitation .invitation-small,
.pickup-inner > div:first-child > p, .pickup-address p,
.sweets-page .quote-card p, .sweets-page .sweet-table p,
.sweets-page .sweet-table .design-note { color: #654254; }
.sweets-page .sweet-table .design-note { border-color: #bb7e99; }
.pickup-address, .kontakt-page .pickup-address { background: #fce8f0dd; border-color: #c68da6; }
.pickup-address .button-outline { color: var(--wine); border-color: #ad708d; }
.pickup-address .button-outline:hover { background: var(--porcelain); color: var(--wine); }
.final-invitation .button, .sweets-page .quote-card .button,
.sweets-page .sweet-table .button { background: var(--porcelain); color: var(--wine); border-color: var(--porcelain); }
.final-invitation .button:hover, .sweets-page .quote-card .button:hover,
.sweets-page .sweet-table .button:hover { background: #f7d7e5; color: var(--wine); border-color: #b97b98; }
.home-page .final-actions .button-outline { background: transparent; color: var(--wine); border-color: #ad708d; }
.home-page .final-actions .button-outline:hover { background: var(--porcelain); color: var(--wine); }
footer { background: #edb6cd; color: #654254; border-color: #d49ab3; }
footer .footer-socials a { background: #fce8f0cc; color: var(--wine); border-color: #c18ba4; }
footer .footer-socials a:hover { background: var(--porcelain); border-color: var(--wine); }

/* Keep fields, booking cards and receipts calm and easy to scan. */
:root .cw-card, :root #classique-booking-form, :root #classique-inquiry-form,
:root .cb-receipt { background: var(--porcelain); border-color: var(--line); }
:root .cw-card-link:hover { background: #f7d7e5; }
:root .cw-booking-card, :root .cb-summary { background: var(--petal); border-color: #c994ad; }
:root .cw-empty { background: linear-gradient(120deg, #fce8f0, #f9dce7); }
:root .cw-booking-state { background: var(--porcelain); }
:root .cb-preview-notice, :root .cb-reference { background: var(--petal); border-color: var(--line); }
:root .ci-services a { background: #fce8f0cc; border-color: #c994ad; }
:root .ci-services a[aria-current=page] { background: var(--porcelain); color: var(--wine); border-color: var(--wine); }
:root input, :root select, :root textarea,
:root .cb-fields input, :root .ci-page textarea, :root .ci-page select {
  background: #fff0f6; border-color: #c994ad; color: var(--ink);
}
:root input:focus, :root select:focus, :root textarea:focus { border-color: var(--wine); }
:root .cb-fields input[readonly] { background: #f7e9ef; }
:root #classique-booking-form .button, :root #classique-inquiry-form .button {
  background: var(--pink); color: var(--ink); border-color: #bd849f;
}
:root #classique-booking-form .button:hover, :root #classique-inquiry-form .button:hover {
  background: var(--pink-hover); border-color: var(--wine);
}
:root .cb-payment { background: #f9dce7; border-color: #b67c96; }
:root .cb-mobilepay-options { background: var(--porcelain); border-color: var(--line); }
:root .cb-payment .cb-payment-deadline { background: var(--porcelain); border-color: #c994ad; }

/* A pale frame lets the actual cake colours stay true. */
dialog { background: var(--porcelain); }
.order-story { background: var(--rose-panel); }
.order-summary { background: var(--petal); border-color: #b67c96; }
body .cg-expand { background: #fbe0eb; color: #974e70; }
body .cg-close, body .cg-prev, body .cg-next { background: var(--porcelain); border-color: var(--line); }
body .cg-close:hover, body .cg-prev:hover, body .cg-next:hover { background: var(--rose); }
body .cg-viewer-photo { background: #f8edf2; }


/* Shared finishing touches for cards, photo labels and all public controls. */
.card-open, .experience-photo-label, .cake-order-photo figcaption,
.cw-date-tile, .event-practical { background: var(--porcelain); }
.home-page .detail-photo.detail-logo { background: var(--porcelain); }
.events-cake-link { color: var(--wine); }
.events-cake-link:hover { color: var(--ink); }

@media print {
  body, :root .cb-receipt, :root .cb-mobilepay-options { background: #fff !important; color: #222 !important; }
}
