/* cbb-core Elementor widgets. Colors/typography come from widget controls (Global Kit defaults). */

/* Service Menu (README §5) */
.cbb-menu { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px; }
.cbb-menu__title { margin: 0 0 6px; font-family: "Allura", cursive; font-weight: 400; font-size: 46px; line-height: 1.1; color: var(--cbb-rose, #A8636A); }
.cbb-menu__list { list-style: none; margin: 0; padding: 0; }
.cbb-menu__row { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; padding: 14px 0; border-bottom: 1px dotted #D8C8BF; }
.cbb-menu__info { display: flex; flex-direction: column; min-width: 0; }
.cbb-menu__name, .cbb-menu__price { font-family: "Gilda Display", Georgia, serif; font-size: 20px; line-height: 1.3; }
.cbb-menu__name { color: #4B3A37; }
.cbb-menu__desc { margin-top: 2px; font-size: 14px; font-weight: 300; line-height: 1.5; color: #6E5E58; }
.cbb-menu__price { flex: none; color: #985259; text-align: right; white-space: nowrap; }

/* Business Contact (README §7) */
.cbb-contact__title { margin: 0 0 14px; }
.cbb-contact__line { margin: 0 0 14px; font-size: 17px; font-weight: 300; line-height: 1.7; }
.cbb-contact__line a { text-decoration: none; text-underline-offset: 3px; }
.cbb-contact__line a:hover { text-decoration: underline; }
.cbb-contact__note { font-style: italic; margin-bottom: 18px; }
.cbb-contact .cbb-social { list-style: none; margin: 0; padding: 0; display: flex; gap: 10px; }
.cbb-contact .cbb-social a { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: #985259; color: #fff; transition: background-color 150ms ease; }
.cbb-contact .cbb-social svg { width: 20px; height: 20px; }

/* Instagram Gallery */
.cbb-ig__head { display: flex; flex-wrap: wrap; gap: 12px; align-items: baseline; justify-content: space-between; margin: 0 0 14px; }
.cbb-ig__title { margin: 0; }
.cbb-ig__handle { font: 500 13px/1.2 "Jost", sans-serif; letter-spacing: 2px; text-transform: uppercase; text-decoration: none; padding: 8px 0; transition: color 150ms ease; }
.cbb-ig__handle:hover { color: #4B3A37; }
.cbb-ig__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.cbb-ig__tile { position: relative; aspect-ratio: 1 / 1; border-radius: 6px; overflow: hidden; background: repeating-linear-gradient(135deg, #EADFD8 0 10px, #F1E8E2 10px 20px); }
.cbb-ig__tile:nth-child(2n) { background: linear-gradient(160deg, #F3E3E1, #EADFD8); }
.cbb-ig__tile:nth-child(3n) { background: linear-gradient(200deg, #FBF7F4, #D8C8BF); }
.cbb-ig__tile a { position: absolute; inset: 0; transition: background-color 150ms ease; }
.cbb-ig__tile a:hover { background: rgba(255, 255, 255, .2); }
@media (max-width: 359px) { .cbb-ig__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* Smash Balloon output tuned to match */
.cbb-ig__feed #sb_instagram { padding: 0 !important; }
.cbb-ig__feed #sb_instagram .sbi_photo { border-radius: 6px; transition: opacity 150ms ease; }
.cbb-ig__feed #sb_instagram .sbi_photo:hover { opacity: .8; }
