/* De's Flowers – repairs on top of the original BloomNet template-six styles */
html { overflow-x: hidden; }
body { background: #fff; }
.visuallyHidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* logo (recreated) */
.siteName img { max-height: 92px; width: auto; max-width: 100%; }
.footerMessage .ftrLogo { filter: brightness(0) invert(1); max-width: 240px !important; }

/* product images: square crop everywhere */
.itemWrapper a.itemLink img, .productList .itemWrapper img { width: 100% !important; height: auto !important; aspect-ratio: 1 / 1; object-fit: cover; display: block; }
.productImage img.mainImage { width: 100%; height: auto; aspect-ratio: 1/1; object-fit: cover; }

/* home "shop by occasion" tiles */
.bannerBlock .banner img { width: 100% !important; height: auto !important; display: block; }

/* category pages */
.catTitle { display: block; margin: 10px 0 12px; font-size: 1.6em; line-height: 1.25; }
.catIntro { margin-bottom: 18px; line-height: 1.6; }
.catIntro p { margin: 0 0 10px; }
.resultCount { color: #777; font-size: .9em; margin: 8px 0 20px; clear: both; }
.sortList a.active { text-decoration: underline; }
ul.subCats { list-style: none; margin: 14px 0 22px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
ul.subCats li { margin: 0; }
ul.subCats a.btnAlt { display: inline-block; padding: 8px 14px; border: 1px solid #e61646; color: #e61646; border-radius: 3px; text-decoration: none; }
ul.subCats a.btnAlt:hover { background: #e61646; color: #fff; }
.orderNote, .infoBox { background: #fbf2f4; border-left: 4px solid #e61646; padding: 14px 18px; margin: 22px 0; line-height: 1.6; clear: both; }
.infoBox ul { margin: 8px 0 12px 18px; }
.infoBox .btn, .orderBox .btn, .orderNote .btn { display: inline-block; margin: 4px 6px 4px 0; }

/* product page: phone / email ordering instead of the retired checkout */
.orderBox { margin: 20px 0; padding: 18px; border: 1px solid #f0d3da; background: #fff8f9; }
.orderBox .btn { padding: 12px 18px; text-decoration: none; }
.orderBox .orderCall { background: #e61646; color: #fff; }
.orderBox .orderMail { background: #018e9b; color: #fff; }
.orderBox .small, .infoBox .small { font-size: .85em; color: #666; margin-top: 10px; }

/* search page */
.siteSearchPage { display: flex; gap: 8px; margin: 10px 0 18px; max-width: 560px; }
.siteSearchPage input { flex: 1; padding: 10px 12px; border: 1px solid #ccc; }
.searchOpen .siteSearch { display: block !important; }

/* newsletter */
.js-mailform input { width: 100%; padding: 8px 10px; box-sizing: border-box; border: 1px solid #ccc; }
.js-mailform label { display: block; margin: 8px 0 4px; }
.js-mailform .btn { margin-top: 12px; }

/* text-only content pages from the old CMS */
.mainContent ul li { line-height: 1.6; }

@media (max-width: 768px) {
  .siteSearchPage { flex-direction: column; }
  .orderBox .btn { display: block; text-align: center; margin: 6px 0; }
}

/* footer info blocks: headings were red on the red footer */
.footerMessage .sfieldRow h3 { color: #fff !important; margin: 18px 0 6px; font-size: 1.1em; letter-spacing: .02em; }
.footerMessage .sfieldRow .inner p { margin: 0 0 8px; }
.footerMessage a.heading, .footerMessage a.heading div { color: #fff !important; text-transform: capitalize; font-size: 1.3em; margin-bottom: 6px; }
.footerMessage .aboutWrpr .aboutText { color: #fff; line-height: 1.5; }

/* category pages: heading + left rail */
.catH1 { margin: 6px 0 4px; font-size: 2.1em; }
.catTitle { font-size: 1.15em !important; color: #555; }
.leftRail .railNavWrapper { margin-top: 64px; padding-right: 14px; }
.leftRail .railNavHeading { font-size: 1.35em; margin-bottom: 8px; }
.leftRail .railNavHeading a { color: #e61646; text-decoration: none; }
.leftRail ul.railNav { list-style: none; margin: 0; padding: 0; }
.leftRail ul.railNav li a { display: block; padding: 6px 0; border-bottom: 1px solid #f1f1f1; }
.leftRail ul.railNav li a.active { font-weight: 700; color: #e61646; }
.orderBox .btn, .orderBox .btn:hover, .orderBox .btn:visited { color: #fff !important; }
.orderBox .btn:hover { opacity: .9; }
@media (max-width: 768px) { .leftRail .railNavWrapper { margin-top: 10px; } }

/* home product rows: equal-height flex grid (floats left gaps when titles wrap) */
.content.featured-items { display: flex; flex-wrap: wrap; }
.content.featured-items > .grid_3 { float: none; display: flex; }
.content.featured-items > .grid_3 > .itemWrapper { width: 100%; }
@media (max-width: 768px) {
  .content.featured-items > .grid_3 { width: 50% !important; margin: 0 !important; padding: 0 6px 12px; box-sizing: border-box; }
  .heroBanner img { width: 100% !important; height: auto !important; }
  .siteBody .container, .main .container { max-width: 100%; box-sizing: border-box; }
  .bannerBlock .grid_6 { width: 100% !important; margin: 0 !important; }
}
