/*
 * FlowersUSSR — design refresh (2026-10-07)
 *
 * The same site with a more current finish: the logo, the green / pink / orange colors and the layout stay; surfaces
 * become clean white cards with soft shadows and rounded corners, text gets a comfortable reading width, buttons
 * become clear pills, the busy background is washed out so the flowers stand out, and phones get a two-column catalog.
 *
 * Loaded after the theme's own styles by mu-plugins/fussr-refresh.php, and every rule is scoped to
 * body.fussr-refresh, so nothing here applies unless the refresh is switched on.
 */

/* ---------- Colors, shapes, type ---------- */

body.fussr-refresh {
	--fr-green: #5bc30a;            /* the brand green */
	--fr-green-ink: #3f8f06;        /* the same green, deep enough to read as text */
	--fr-green-hover: #4aa308;
	--fr-pink: #e0338d;             /* the brand pink */
	--fr-pink-hover: #c8237a;
	--fr-pink-soft: #fbeaf4;
	--fr-menu: #ebb9de;             /* the menu bar's pink */
	--fr-orange: #c46a00;           /* the link orange, darkened for contrast */
	--fr-orange-hover: #e0338d;
	--fr-ink: #2f3437;
	--fr-muted: #6b7175;
	--fr-line: #ece6ea;
	--fr-card: #fff;
	--fr-page: #fbf8fa;
	--fr-radius: 16px;
	--fr-radius-sm: 10px;
	--fr-shadow: 0 1px 2px rgba(47, 52, 55, .05), 0 8px 24px rgba(47, 52, 55, .07);
	--fr-shadow-hover: 0 2px 6px rgba(47, 52, 55, .07), 0 16px 36px rgba(47, 52, 55, .12);
	--fr-font: "Open Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--fr-font-head: Ubuntu, "Open Sans", system-ui, sans-serif;

	color: var(--fr-ink);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

/* The familiar watercolor background, washed so the content reads first (beats the inline custom-background). */
html body.fussr-refresh.custom-background,
html body.fussr-refresh {
	background-color: var(--fr-page);
	background-image: linear-gradient(rgba(251, 248, 250, .84), rgba(251, 248, 250, .84)), url("/wp-content/uploads/2019/08/background.png");
	background-size: cover;
	background-attachment: fixed;
}

body.fussr-refresh ::selection {
	background: var(--fr-pink-soft);
	color: var(--fr-ink);
}

body.fussr-refresh a {
	color: var(--fr-orange);
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
	transition: color .15s ease;
}

body.fussr-refresh a:hover,
body.fussr-refresh a:focus {
	color: var(--fr-orange-hover);
}

body.fussr-refresh :focus-visible {
	outline: 3px solid rgba(91, 195, 10, .45);
	outline-offset: 2px;
}

body.fussr-refresh h1,
body.fussr-refresh h2,
body.fussr-refresh h3,
body.fussr-refresh h4 {
	font-family: var(--fr-font-head);
	font-weight: 500;
	color: var(--fr-green-ink);
	letter-spacing: -.01em;
	line-height: 1.25;
}

body.fussr-refresh hr {
	background-color: var(--fr-line);
	margin: 40px 0;
}

/* ---------- Header ---------- */

body.fussr-refresh .top-navigation {
	position: relative;
	z-index: 60;   /* its dropdowns (currency, language) open over the header and the page, below pop-up dialogs (100) */
	background: rgba(255, 255, 255, .78);
	border-bottom: 1px solid var(--fr-line);
	backdrop-filter: saturate(140%) blur(6px);
}

body.fussr-refresh .top-navigation a {
	color: var(--fr-muted);
}

body.fussr-refresh .top-navigation a:hover {
	color: var(--fr-pink);
}

body.fussr-refresh #masthead > .container {
	padding-top: 10px;
}

/* The header row: logo, "Delivery to" and the badges on one center line */
@media (min-width: 768px) {
	body.fussr-refresh #masthead > .container > .row {
		display: flex;
		align-items: center;
	}

	body.fussr-refresh #masthead > .container > .row::before,
	body.fussr-refresh #masthead > .container > .row::after {
		display: none;
	}
}

/* "Delivery to": the label centered over a compact pill; the name and its arrow stay on one line */
body.fussr-refresh .site-header .header-widget {
	margin: 0;
	text-align: center;
	font-size: 14px;
	line-height: 1.3;
	color: var(--fr-muted);
}

body.fussr-refresh .site-header .header-widget .textwidget {
	display: flex;
	align-items: center;
	justify-content: center;
	width: max-content;
	max-width: none;
	margin: 6px 0 0 50%;
	transform: translateX(-50%);   /* centered under the label even when a long name is wider than the column */
	background: #fff;
	border: 1px solid var(--fr-line);
	border-radius: 999px;
	padding: 7px 16px;
	box-shadow: 0 1px 2px rgba(47, 52, 55, .05);
	transition: border-color .15s ease, box-shadow .15s ease;
}

body.fussr-refresh .site-header .header-widget .textwidget:hover {
	border-color: rgba(224, 51, 141, .35);
	box-shadow: 0 2px 8px rgba(224, 51, 141, .12);
}

body.fussr-refresh #countries-popup {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}

body.fussr-refresh #countries-popup i {
	font-size: 12px;
}

/* The pink menu bar: same pink, rounder, with a lighter touch */
body.fussr-refresh .main-navigation {
	background: var(--fr-menu);
	background: linear-gradient(180deg, #efc3e3 0%, var(--fr-menu) 100%);
	border-radius: 14px;
	box-shadow: 0 1px 2px rgba(47, 52, 55, .06), 0 6px 18px rgba(224, 51, 141, .12);
	margin-top: 14px;
	margin-bottom: 8px;
	overflow: visible;
}

body.fussr-refresh .main-navigation ul#primary-menu > li > a {
	font-family: var(--fr-font-head);
	font-weight: 500;
	font-size: 17px;
	color: #3b2a36;
	padding: 0 18px;
	border-radius: 10px;
	transition: background-color .15s ease, color .15s ease;
}

body.fussr-refresh .main-navigation ul#primary-menu > li > a:hover,
body.fussr-refresh .main-navigation ul#primary-menu > li.current-menu-item > a,
body.fussr-refresh .main-navigation ul#primary-menu > li.current_page_item > a,
body.fussr-refresh .main-navigation ul#primary-menu > li.current-menu-ancestor > a {
	background-color: rgba(255, 255, 255, .55);
	color: var(--fr-pink-hover);
}

/* Search: the field and its button are one white pill of one height */
body.fussr-refresh .main-navigation .menu-item-search-form .input-group {
	display: flex;
	align-items: stretch;
	height: 40px;
	background: #fff;
	border-radius: 999px;
	overflow: hidden;
	box-shadow: inset 0 1px 2px rgba(47, 52, 55, .06);
	transition: box-shadow .15s ease;
}

body.fussr-refresh .main-navigation .menu-item-search-form .input-group:focus-within {
	box-shadow: 0 0 0 3px rgba(91, 195, 10, .22);
}

body.fussr-refresh .main-navigation .menu-item-search-form .search-field,
body.fussr-refresh .main-navigation .menu-item-search-form .search-field:focus {
	flex: 1 1 auto;
	min-width: 0;
	height: 100%;
	margin: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	padding: 0 4px 0 18px;
	line-height: 40px;
	-webkit-appearance: none;
	appearance: none;
}

body.fussr-refresh .main-navigation .menu-item-search-form button {
	flex: 0 0 46px;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	line-height: 1;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--fr-pink);
	box-shadow: none;
}

body.fussr-refresh .main-navigation .menu-item-search-form button:hover {
	background: var(--fr-pink-soft);
	color: var(--fr-pink-hover);
}

body.fussr-refresh #cart-toggle .count {
	background: var(--fr-pink);
	color: #fff;
	box-shadow: 0 0 0 2px #fff;
}

/* The "Delivery destination" country list and the other pop-up dialogs */
body.fussr-refresh .ui-dialog {
	border: 0;
	border-radius: 18px;
	box-shadow: 0 24px 64px rgba(47, 52, 55, .28);
	padding: 0;
	overflow: hidden;
}

body.fussr-refresh .ui-dialog .ui-dialog-titlebar {
	background: #fff;
	border: 0;
	border-bottom: 1px solid var(--fr-line);
	border-radius: 0;
	padding: 14px 22px;
	font-family: var(--fr-font-head);
	font-weight: 500;
	font-size: 17px;
	color: var(--fr-ink);
}

body.fussr-refresh .ui-dialog .ui-dialog-content {
	padding: 16px 22px 20px;
}

body.fussr-refresh .ui-widget-overlay {
	background: rgba(47, 52, 55, .45);
	opacity: 1;
}

body.fussr-refresh .geo-country-list a {
	text-decoration: none;
}

body.fussr-refresh .geo-country-list a:hover {
	text-decoration: underline;
}

/* ---------- Page titles and content ---------- */

body.fussr-refresh .entry-title,
body.fussr-refresh .page-title,
body.fussr-refresh .entry-content > h1:first-child {
	font-size: 36px;
	margin: 28px 0 22px;
}

body.fussr-refresh.page:not(.home) .entry-content,
body.fussr-refresh.single-post .entry-content,
body.fussr-refresh.blog .site-main article,
body.fussr-refresh.archive .site-main article {
	background: var(--fr-card);
	border-radius: var(--fr-radius);
	box-shadow: var(--fr-shadow);
	padding: 40px 48px;
}

/* A comfortable reading width for text pages; images, tables and payment logos keep the full card. */
body.fussr-refresh.page:not(.home) .entry-content > p,
body.fussr-refresh.page:not(.home) .entry-content > ul,
body.fussr-refresh.page:not(.home) .entry-content > ol,
body.fussr-refresh.page:not(.home) .entry-content > h2,
body.fussr-refresh.page:not(.home) .entry-content > h3,
body.fussr-refresh.page:not(.home) .entry-content > h4,
body.fussr-refresh.page:not(.home) .entry-content > blockquote,
body.fussr-refresh.page:not(.home) .entry-content > details,
body.fussr-refresh.page:not(.home) .entry-content > .wp-block-group,
body.fussr-refresh.page:not(.home) .entry-content > .accordion,
body.fussr-refresh.single-post .entry-content > p,
body.fussr-refresh.single-post .entry-content > ul,
body.fussr-refresh.single-post .entry-content > ol,
body.fussr-refresh.single-post .entry-content > h2,
body.fussr-refresh.single-post .entry-content > h3 {
	max-width: 760px;
	margin-left: auto;
	margin-right: auto;
}

body.fussr-refresh .entry-content p,
body.fussr-refresh .entry-content li {
	font-size: 17px;
	line-height: 1.7;
}

body.fussr-refresh .entry-content > p {
	margin-bottom: 1.1em;
}

body.fussr-refresh .entry-content h2 {
	font-size: 28px;
	margin-top: 1.6em;
	margin-bottom: .6em;
}

body.fussr-refresh .entry-content h3 {
	font-size: 21px;
	margin-top: 1.5em;
	margin-bottom: .5em;
}

body.fussr-refresh .entry-content > h2:first-child,
body.fussr-refresh .entry-content > h3:first-child,
body.fussr-refresh .entry-content > .accordion:first-child > :first-child {
	margin-top: 0;
}

/* One-item lists used as small headings on About Us: shown as headings */
body.fussr-refresh .entry-content ul:has(> li:only-child > strong:only-child) {
	list-style: none;
	padding-left: 0;
	margin-top: 1.6em;
	margin-bottom: .4em;
}

body.fussr-refresh .entry-content ul:has(> li:only-child > strong:only-child) > li > strong {
	font-family: var(--fr-font-head);
	font-weight: 500;
	font-size: 19px;
	color: var(--fr-ink);
	padding-left: 18px;
	position: relative;
}

body.fussr-refresh .entry-content ul:has(> li:only-child > strong:only-child) > li > strong::before {
	content: "";
	position: absolute;
	left: 0;
	top: .5em;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--fr-pink);
}

body.fussr-refresh .entry-content img {
	border-radius: var(--fr-radius-sm);
}

body.fussr-refresh .entry-content hr {
	margin: 28px 0;
}

body.fussr-refresh .entry-content > hr:first-child {
	display: none;
}

/* Payment logo rows (How to Pay): one even line of marks */
body.fussr-refresh .entry-content ul.inline.unstyled {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	max-width: none;
}

body.fussr-refresh .entry-content ul.inline.unstyled li {
	margin: 0;
	font-size: 0;
	line-height: 0;
}

body.fussr-refresh .entry-content ul.inline.unstyled img {
	height: 40px;
	width: auto;
	border-radius: 6px;
}

body.fussr-refresh .entry-content table {
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid var(--fr-line);
	border-radius: var(--fr-radius-sm);
	overflow: hidden;
}

body.fussr-refresh .entry-content th,
body.fussr-refresh .entry-content td {
	border: 0;
	border-bottom: 1px solid var(--fr-line);
	padding: 10px 14px;
}

body.fussr-refresh .entry-content details {
	background: #fff;
	border: 1px solid var(--fr-line);
	border-radius: var(--fr-radius-sm);
	padding: 12px 18px;
	margin-bottom: 10px;
}

/* ---------- Buttons ---------- */

body.fussr-refresh .button,
body.fussr-refresh button.button,
body.fussr-refresh input[type="submit"],
body.fussr-refresh a.button {
	border-radius: 999px;
	font-family: var(--fr-font);
	font-weight: 600;
	letter-spacing: .01em;
	transition: background-color .15s ease, box-shadow .15s ease, transform .15s ease, color .15s ease;
}

body.fussr-refresh .button.alt,
body.fussr-refresh a.button.alt,
body.fussr-refresh button.single_add_to_cart_button,
body.fussr-refresh .single_add_to_cart_button.button {
	background: var(--fr-green);
	border-color: var(--fr-green);
	color: #fff;
	box-shadow: 0 4px 14px rgba(91, 195, 10, .28);
}

body.fussr-refresh .button.alt:hover,
body.fussr-refresh a.button.alt:hover,
body.fussr-refresh button.single_add_to_cart_button:hover {
	background: var(--fr-green-hover);
	border-color: var(--fr-green-hover);
	color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 6px 18px rgba(91, 195, 10, .34);
}

body.fussr-refresh .button.alt.big {
	padding: 13px 34px;
	font-size: 18px;
}

/* ---------- Product cards (home, catalog, related) ---------- */

body.fussr-refresh ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 28px;
	margin: 0 0 32px;
}

body.fussr-refresh ul.products.columns-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.fussr-refresh ul.products::before,
body.fussr-refresh ul.products::after {
	display: none;
}

body.fussr-refresh ul.products li.product {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	display: flex;
	flex-direction: column;
	background: var(--fr-card);
	border-radius: var(--fr-radius);
	box-shadow: var(--fr-shadow);
	padding: 10px 10px 14px;
	transition: transform .2s ease, box-shadow .2s ease;
}

body.fussr-refresh ul.products li.product:hover {
	transform: translateY(-3px);
	box-shadow: var(--fr-shadow-hover);
}

body.fussr-refresh ul.products li.product > a.woocommerce-loop-product__link {
	flex: 1 1 auto;
	text-decoration: none;
}

body.fussr-refresh ul.products li.product .woocommerce-loop-product__image-wrap {
	border-radius: 12px;
	overflow: hidden;
	background: #fff;
}

/* The whole bouquet, always: the theme's crop-and-zoom-out on hover is switched off */
body.fussr-refresh ul.products li.product .woocommerce-loop-product__image-wrap {
	max-height: none;
	aspect-ratio: 1 / 1;
}

body.fussr-refresh ul.products li.product img,
body.fussr-refresh ul.products li.product:hover img {
	position: static;
	left: auto;
	top: auto;
	width: 100%;
	height: 100%;
	max-width: 100%;
	object-fit: contain;
	border-radius: 12px;
	transition: none;
}

body.fussr-refresh ul.products li.product .woocommerce-loop-product__title {
	font-size: 18px;
	color: var(--fr-ink);
	margin: 12px 4px 4px;
}

body.fussr-refresh ul.products li.product .price {
	font-size: 15px;
	font-weight: 600;
	color: var(--fr-muted);
	margin-bottom: 12px;
}

body.fussr-refresh ul.products li.product .price .amount {
	color: var(--fr-ink);
	font-size: 16px;
}

body.fussr-refresh ul.products li.product .button {
	background: var(--fr-pink);
	border: 0;
	color: #fff;
	padding: 10px 16px;
	box-shadow: 0 4px 12px rgba(224, 51, 141, .22);
}

body.fussr-refresh ul.products li.product .button:hover {
	background: var(--fr-pink-hover);
	color: #fff;
}

/* ---------- Home sections ---------- */

body.fussr-refresh.home .entry-content > h1 {
	font-size: 38px;
}

body.fussr-refresh h2.underline {
	font-size: 30px;
	margin-bottom: 30px;
}

/* the short line under section titles sits below the text, whatever its size */
body.fussr-refresh h2.underline::before {
	top: auto;
	bottom: -10px;
	left: 50%;
	width: 56px;
	height: 3px;
	margin-left: -28px;
	border: 0;
	border-radius: 3px;
	background: var(--fr-pink);
}

body.fussr-refresh .carousel-slider-outer,
body.fussr-refresh .home .entry-content > .row img {
	border-radius: 20px;
}

body.fussr-refresh.home .entry-content > .row .col-sm-12 {
	border-radius: 20px;
	overflow: hidden;
}

body.fussr-refresh .features .feature {
	background: var(--fr-card);
	border-radius: var(--fr-radius);
	box-shadow: var(--fr-shadow);
	padding: 28px 28px 22px;
	height: 100%;
}

body.fussr-refresh .features .flex-row > div {
	margin-bottom: 28px;
}

body.fussr-refresh .features .feature-icon {
	width: 84px;
	height: 84px;
	margin: 0 auto 12px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--fr-pink-soft);
}

body.fussr-refresh .features .feature-icon i {
	font-size: 40px;
}

body.fussr-refresh .features .feature h3 {
	font-size: 21px;
}

body.fussr-refresh .features .feature hr {
	width: 48px;
	height: 3px;
	margin: 12px auto 16px;
	border-radius: 3px;
	background: var(--fr-green);
}

body.fussr-refresh .features .feature p {
	font-size: 15.5px;
	line-height: 1.65;
	text-align: left;
	color: #444a4e;
}

/* ---------- Catalog page ---------- */

body.fussr-refresh.woocommerce-shop .geo-details,
body.fussr-refresh.woocommerce-shop #custom_html-10,
body.fussr-refresh.woocommerce-shop #custom_html-14,
body.fussr-refresh .fc-container-horizontal {
	background: rgba(255, 255, 255, .92);
	border-radius: 14px;
	box-shadow: var(--fr-shadow);
	border: 0;
}

body.fussr-refresh.woocommerce-shop #custom_html-9 .textwidget {
	width: 100%;   /* the widget centers its content; without this the photo-and-map box shrinks to its content */
}

body.fussr-refresh.woocommerce-shop .geo-details {
	width: 100%;
	gap: 6px;
	padding: 6px;
}

/* the city photo and the map side by side, each in its own rounded frame, never overlapping */
body.fussr-refresh.woocommerce-shop .geo-details > div {
	border: 0;
	border-radius: 10px;
	overflow: hidden;
	height: 130px;
	min-width: 0;
}

body.fussr-refresh.woocommerce-shop .geo-details > .geo-image {
	flex: 1 1 58%;
	width: auto;
	max-height: none;
	position: relative;
}

body.fussr-refresh.woocommerce-shop .geo-details > .geo-map {
	flex: 1 1 42%;
}

body.fussr-refresh.woocommerce-shop .geo-details > .geo-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* The "Delivery to:" place field — on catalog pages with the globe button for the country list, and in the header's
   "Delivery destination" popup: one white pill, like the header search (dennis: the square field "clashes with the
   rounded countries of delivery button"). */
body.fussr-refresh .textwidget > .input-group,
body.fussr-refresh .popup-dialog > .input-group {
	display: flex;
	flex-wrap: nowrap;
	align-items: stretch;
	height: 42px;
	background: #fff;
	border: 1px solid #ddd5da;
	border-radius: 999px;
	overflow: hidden;
	transition: border-color .15s ease, box-shadow .15s ease;
}

body.fussr-refresh .textwidget > .input-group:focus-within,
body.fussr-refresh .popup-dialog > .input-group:focus-within {
	border-color: var(--fr-green);
	box-shadow: 0 0 0 3px rgba(91, 195, 10, .18);
}

body.fussr-refresh .input-group > input.search-field.geo-search-field,
body.fussr-refresh .input-group > input.search-field.geo-search-field:focus {
	flex: 1 1 auto;
	width: auto;
	min-width: 0;
	height: 100%;
	margin: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	padding: 0 8px 0 18px;
	font-size: 16px;
	color: var(--fr-ink);
	-webkit-appearance: none;
	appearance: none;
}

body.fussr-refresh .input-group > button.geo-country-list-button {
	flex: 0 0 52px;
	align-items: center;
	justify-content: center;
	height: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	border-left: 1px solid #eee5ea;
	border-radius: 0;
	background: #f7f2f5;
	color: var(--fr-green-ink);
	font-size: 18px;
	box-shadow: none;
	transform: none;
}

body.fussr-refresh .input-group > button.geo-country-list-button:hover,
body.fussr-refresh .input-group > button.geo-country-list-button:focus-visible {
	background: var(--fr-green);
	color: #fff;
}

body.fussr-refresh .page-description {
	background: var(--fr-card);
	border-radius: var(--fr-radius);
	box-shadow: var(--fr-shadow);
	padding: 32px 40px;
	margin-top: 8px;
}

body.fussr-refresh .page-description p {
	font-size: 16.5px;
	line-height: 1.7;
	max-width: 820px;
}

/* ---------- Product page ---------- */

body.fussr-refresh.single-product div.product .woocommerce-product-gallery,
body.fussr-refresh.single-product div.product .images {
	background: var(--fr-card);
	border-radius: var(--fr-radius);
	box-shadow: var(--fr-shadow);
	padding: 12px;
	overflow: hidden;
}

body.fussr-refresh.single-product div.product .woocommerce-product-gallery img {
	border-radius: 12px;
}

/* the theme's own frame around the photo would now sit inside the card as a faint second border */
body.fussr-refresh.single-product div.product .woocommerce-product-gallery__image {
	background: transparent;
	box-shadow: none;
	border-radius: 12px;
	padding: 0;
}

@media screen and (min-width: 37.5em) {
	/* the theme's 40/60 split had its gap as padding inside the photo column; now the cards stand apart */
	body.fussr-refresh.single-product div.product .woocommerce-product-gallery {
		width: calc(40% - 28px);
		margin-right: 28px;
	}
}

body.fussr-refresh.single-product .product_title {
	font-size: 34px;
	margin-top: 0;
}

body.fussr-refresh.single-product div.product .summary {
	background: rgba(255, 255, 255, .9);
	border-radius: var(--fr-radius);
	box-shadow: var(--fr-shadow);
	padding: 28px 32px;
}

body.fussr-refresh.single-product .single_add_to_cart_button {
	padding: 13px 34px;
	font-size: 17px;
}

body.fussr-refresh.single-product .woocommerce-tabs {
	background: var(--fr-card);
	border-radius: var(--fr-radius);
	box-shadow: var(--fr-shadow);
	padding: 20px 28px;
	margin-top: 32px;
}

/* WooCommerce's "View cart" link after adding: a pink pill beside "Add to cart", the same height */
body.fussr-refresh a.added_to_cart.wc-forward {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	vertical-align: middle;
	margin: 0 0 1em 2px;   /* the same bottom margin as the theme gives "Add to cart" (1em), so the two line up */
	padding: 13px 28px;   /* 13 + 17 + 13 + 2 × 1 = 45px, the "Add to cart" button's own height */
	border: 1px solid var(--fr-pink);
	border-radius: 999px;
	background: var(--fr-pink);
	color: #fff;
	font-family: var(--fr-font);
	font-weight: 600;
	font-size: 17px;
	line-height: 17px;
	text-decoration: none;
	box-shadow: 0 4px 14px rgba(224, 51, 141, .26);
	transition: background-color .15s ease, transform .15s ease, box-shadow .15s ease;
}

body.fussr-refresh a.added_to_cart.wc-forward:hover {
	background: var(--fr-pink-hover);
	border-color: var(--fr-pink-hover);
	color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 6px 18px rgba(224, 51, 141, .32);
}

body.fussr-refresh.single-product .single_add_to_cart_button {
	vertical-align: middle;
}

/* An unready "Add to cart" (no size chosen yet) stays plain: no glow, no lift */
body.fussr-refresh .single_add_to_cart_button.disabled,
body.fussr-refresh .single_add_to_cart_button:disabled {
	box-shadow: none;
	transform: none;
}

/* "Make your present special!" gifts as small cards (the theme's own spacing keeps six per row) */
body.fussr-refresh .gift-list .gift-product > label {
	background: var(--fr-card);
	border-radius: 14px;
	box-shadow: var(--fr-shadow);
	transition: box-shadow .2s ease;
}

body.fussr-refresh .gift-list .gift-product > label:hover {
	box-shadow: var(--fr-shadow-hover);
}

/* ---------- Cart and checkout ---------- */

/* The three steps (Cart · Order Details & Payment · Confirmation) as pills */
body.fussr-refresh nav.woocommerce-breadcrumb {
	display: flex;
	gap: 8px;
	background: transparent;
	padding: 0;
	margin-bottom: 18px;
}

body.fussr-refresh nav.woocommerce-breadcrumb > a,
body.fussr-refresh nav.woocommerce-breadcrumb > span {
	flex: 1 1 0;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 40px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .9);
	box-shadow: var(--fr-shadow);
	color: var(--fr-muted);
	font-weight: 600;
	text-decoration: none;
}

body.fussr-refresh nav.woocommerce-breadcrumb > a.active,
body.fussr-refresh nav.woocommerce-breadcrumb > span.active {
	background: var(--fr-green);
	color: #fff;
}

body.fussr-refresh nav.woocommerce-breadcrumb > a > span,
body.fussr-refresh nav.woocommerce-breadcrumb > span > span {
	width: 22px;
	height: 22px;
	line-height: 22px;
	border-radius: 50%;
	background: rgba(0, 0, 0, .08);
	color: inherit;
	font-size: 12px;
	text-align: center;
}

body.fussr-refresh nav.woocommerce-breadcrumb > .active > span {
	background: rgba(255, 255, 255, .28);
}

body.fussr-refresh #payment div.payment_box {
	background: #f4eff2;
	border-radius: var(--fr-radius-sm);
}

body.fussr-refresh #payment div.payment_box::before {
	border-bottom-color: #f4eff2;
}

body.fussr-refresh .woocommerce table.shop_table,
body.fussr-refresh table.shop_table {
	border-radius: 12px;
	overflow: hidden;
}

/* ---------- Forms ---------- */

/* The class is doubled on purpose: the theme's base rule input:not([type=checkbox]):not([type=radio]):not([type=submit])
   outranks one class plus an attribute (0,3,1 against 0,2,1), so without it every text field kept the old square
   3px style while the selects and text areas were rounded. */
body.fussr-refresh.fussr-refresh input[type="text"],
body.fussr-refresh.fussr-refresh input[type="email"],
body.fussr-refresh.fussr-refresh input[type="tel"],
body.fussr-refresh.fussr-refresh input[type="number"],
body.fussr-refresh.fussr-refresh input[type="password"],
body.fussr-refresh.fussr-refresh input[type="search"],
body.fussr-refresh.fussr-refresh input[type="url"],
body.fussr-refresh.fussr-refresh select,
body.fussr-refresh.fussr-refresh textarea {
	border: 1px solid #ddd5da;
	border-radius: var(--fr-radius-sm);
	background-color: #fff;
	transition: border-color .15s ease, box-shadow .15s ease;
}

body.fussr-refresh.fussr-refresh input[type="text"]:focus,
body.fussr-refresh.fussr-refresh input[type="email"]:focus,
body.fussr-refresh.fussr-refresh input[type="tel"]:focus,
body.fussr-refresh.fussr-refresh input[type="number"]:focus,
body.fussr-refresh.fussr-refresh input[type="password"]:focus,
body.fussr-refresh.fussr-refresh input[type="search"]:focus,
body.fussr-refresh.fussr-refresh input[type="url"]:focus,
body.fussr-refresh.fussr-refresh select:focus,
body.fussr-refresh.fussr-refresh textarea:focus {
	border-color: var(--fr-green);
	box-shadow: 0 0 0 3px rgba(91, 195, 10, .18);
	outline: none;
}

/* ---------- Fields, lists and pickers (2026-10-07 check of every page with a form) ---------- */

/* Checkout and account forms: text fields and drop-down lists of one height */
body.fussr-refresh.fussr-refresh .woocommerce form .form-row .input-text,
body.fussr-refresh.fussr-refresh .woocommerce form .form-row select {
	min-height: 40px;
	padding: 8px 12px;
}

/* Radio buttons and check boxes in the brand green instead of the browser's blue */
body.fussr-refresh input[type="radio"],
body.fussr-refresh input[type="checkbox"] {
	accent-color: var(--fr-green);
}

/* Password fields: the "show password" eye is the end of the field — same border, rounded end, one focus ring */
body.fussr-refresh .password-input {
	border-radius: var(--fr-radius-sm);
	transition: box-shadow .15s ease;
}

body.fussr-refresh .password-input:focus-within {
	box-shadow: 0 0 0 3px rgba(91, 195, 10, .18);
}

body.fussr-refresh.fussr-refresh .password-input > input:focus {
	box-shadow: none;
}

body.fussr-refresh .password-input .show-password-input {
	border: 1px solid #ddd5da;
	border-left: 0;
	border-radius: 0 var(--fr-radius-sm) var(--fr-radius-sm) 0;
	background: #fff;
	box-shadow: none;
	color: var(--fr-muted);
	transform: none;
}

body.fussr-refresh .password-input:focus-within .show-password-input {
	border-color: var(--fr-green);
}

/* Drop-down lists (select2: the delivery country and city on product pages, the checkout's country, city, address
   type, occasion and delivery time) — they kept the plugin's grey square frame and WordPress-blue highlight */
body.fussr-refresh .select2-container--default .select2-selection--single {
	height: 40px;
	border: 1px solid #ddd5da;
	border-radius: var(--fr-radius-sm);
	background: #fff;
	transition: border-color .15s ease, box-shadow .15s ease;
}

body.fussr-refresh .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 38px;
	padding-left: 12px;
	padding-right: 30px;
	color: var(--fr-ink);
}

body.fussr-refresh .select2-container--default .select2-selection--single .select2-selection__placeholder {
	color: #8a8f93;
}

body.fussr-refresh .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 38px;
	right: 6px;
}

body.fussr-refresh .select2-container--default.select2-container--focus .select2-selection--single,
body.fussr-refresh .select2-container--default.select2-container--open .select2-selection--single {
	border-color: var(--fr-green);
	box-shadow: 0 0 0 3px rgba(91, 195, 10, .18);
}

body.fussr-refresh .select2-dropdown {
	border: 1px solid var(--fr-green);
	border-radius: 0 0 var(--fr-radius-sm) var(--fr-radius-sm);
	overflow: hidden;
	box-shadow: 0 12px 28px rgba(47, 52, 55, .14);
}

body.fussr-refresh .select2-dropdown--above {
	border-radius: var(--fr-radius-sm) var(--fr-radius-sm) 0 0;
}

body.fussr-refresh .select2-container--default .select2-results__option--highlighted[aria-selected],
body.fussr-refresh .select2-container--default .select2-results__option--highlighted[data-selected] {
	background-color: var(--fr-green);
	color: #fff;
}

body.fussr-refresh .select2-container--default .select2-results__option[aria-selected="true"]:not(.select2-results__option--highlighted) {
	background-color: #f1f9ea;
	color: var(--fr-ink);
}

body.fussr-refresh.fussr-refresh .select2-search--dropdown .select2-search__field {
	border-radius: 8px;
	padding: 6px 10px;
}

/* The card form inside the payment box: the theme's fieldset frame (grey, with 3.5em of empty space kept for a
   legend it doesn't have) inside the pink box */
body.fussr-refresh #payment fieldset.wc-payment-form {
	background: #fff;
	border: 1px solid #eee5ea;
	border-radius: 12px;
	padding: 16px 18px 6px;
	margin: 0;
}

/* The delivery-date calendar (checkout): a rounded card, days as rounded tiles */
body.fussr-refresh #ui-datepicker-div {
	border-radius: 14px;
	overflow: hidden;
	background: #fff;
	box-shadow: 0 12px 32px rgba(47, 52, 55, .18);
	padding-bottom: 6px;
}

body.fussr-refresh #ui-datepicker-div td {
	border: 0;
	background: transparent;
	padding: 2px;
}

body.fussr-refresh #ui-datepicker-div td a,
body.fussr-refresh #ui-datepicker-div td span {
	border-radius: 8px;
	text-align: center;
}

body.fussr-refresh #ui-datepicker-div td a {
	background: #f1f9ea;
	color: var(--fr-green-ink);
	font-weight: 600;
}

body.fussr-refresh #ui-datepicker-div td a:hover {
	background: var(--fr-green);
	color: #fff;
}

body.fussr-refresh #ui-datepicker-div td a.ui-state-active {
	background: var(--fr-pink);
	color: #fff;
}

/* The place suggestions under the "Delivery to:" field */
body.fussr-refresh .autocomplete-suggestions {
	border: 1px solid #eee5ea;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 12px 28px rgba(47, 52, 55, .14);
	margin-top: 6px;
}

body.fussr-refresh .autocomplete-group {
	background: #faf6f8;
	padding: 6px 14px;
	color: var(--fr-muted);
	font-size: 14px;
}

body.fussr-refresh .autocomplete-suggestion {
	padding: 6px 14px;
	cursor: pointer;
}

body.fussr-refresh .autocomplete-selected {
	background: #f1f9ea;
}

body.fussr-refresh .autocomplete-suggestion strong {
	color: var(--fr-green-ink);
}

/* Catalog filters (By Color, By Occasion, Flowers, Sort by): rounded lists in the brand pink */
body.fussr-refresh .fc-container-horizontal .fc-filter.toggled,
body.fussr-refresh .fc-container-horizontal .fc-filter.fc-active {
	border-left-color: transparent;
}

body.fussr-refresh .fc-container-horizontal .fc-filter.toggled > .fc-filter-name,
body.fussr-refresh .fc-container-horizontal .fc-filter.fc-active > .fc-filter-name {
	color: var(--fr-pink);
}

body.fussr-refresh .fc-container-horizontal .fc-filter-body {
	border: 1px solid #eee5ea;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 12px 28px rgba(47, 52, 55, .14);
	margin-top: 6px;
	overflow: hidden;
}

/* "Sort by:" counts as an active filter even on the default order — then it should look like the others */
body.fussr-refresh .fc-container-horizontal .fc-filter.fc-active:not(.toggled):has(input[value="menu_order"]:checked, option[value="menu_order"]:checked) > .fc-filter-name {
	color: inherit;
	background: transparent;
}

/* Cart: a quantity box as wide as a quantity, and the checkout button as big as "Add to cart" */
body.fussr-refresh.fussr-refresh .woocommerce-cart-form .quantity .qty {
	width: 84px;
	text-align: center;
}

body.fussr-refresh .wc-proceed-to-checkout a.checkout-button {
	padding: 13px 30px;
	font-size: 17px;
	line-height: 17px;
}

/* Plain submit buttons (comment form, search on the 404 page) were the theme's grey */
body.fussr-refresh input[type="submit"]:not(.button) {
	background: var(--fr-green);
	border: 1px solid var(--fr-green);
	color: #fff;
	padding: 8px 22px;
	cursor: pointer;
}

body.fussr-refresh input[type="submit"]:not(.button):hover {
	background: var(--fr-green-hover);
	border-color: var(--fr-green-hover);
}

body.fussr-refresh .search-form {
	display: flex;
	gap: 8px;
	align-items: center;
	flex-wrap: wrap;
}

/* Blog comments: in a card like the post above them */
body.fussr-refresh .comments-area {
	background: var(--fr-card);
	border-radius: var(--fr-radius);
	box-shadow: var(--fr-shadow);
	padding: 32px 40px;
	margin-top: 24px;
}

/* Language and currency menus in the top bar */
body.fussr-refresh .top-navigation .sub-menu {
	border: 1px solid #eee5ea;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 12px 28px rgba(47, 52, 55, .14);
	overflow: hidden;
	padding: 4px 0;
}

/* ---------- Footer ---------- */

body.fussr-refresh .site-footer {
	background: rgba(255, 255, 255, .9);
	border-top: 1px solid var(--fr-line);
	margin-top: 56px;
	padding-top: 16px;
}

body.fussr-refresh .site-footer .widget-title {
	font-size: 17px;
	color: var(--fr-green-ink);
	margin-bottom: 12px;
}

body.fussr-refresh .site-footer a {
	color: #4d5357;
	text-decoration: none;
}

body.fussr-refresh .site-footer a:hover {
	color: var(--fr-pink);
	text-decoration: underline;
}

body.fussr-refresh .site-footer li {
	margin-bottom: 6px;
}

body.fussr-refresh .site-footer .copyright {
	background: transparent;
	border-top: 1px solid var(--fr-line);
	color: var(--fr-muted);
	padding: 14px 0;
}

body.fussr-refresh #scrollup {
	border-radius: 50%;
	box-shadow: var(--fr-shadow);
}

/* ---------- Blog list, account, not-found page, header badges ---------- */

body.fussr-refresh.blog .site-main article,
body.fussr-refresh.archive .site-main article {
	padding: 14px 14px 20px;
}

body.fussr-refresh.blog .site-main article img,
body.fussr-refresh.archive .site-main article img {
	border-radius: 12px;
}

body.fussr-refresh.blog .site-main article .entry-title,
body.fussr-refresh.archive .site-main article .entry-title {
	font-size: 20px;
	line-height: 1.3;
	margin: 14px 4px 10px;
}

body.fussr-refresh.blog .site-main article .entry-title a,
body.fussr-refresh.archive .site-main article .entry-title a {
	color: var(--fr-ink);
	text-decoration: none;
}

body.fussr-refresh.blog .site-main article .entry-title a:hover,
body.fussr-refresh.archive .site-main article .entry-title a:hover {
	color: var(--fr-pink);
}

body.fussr-refresh.blog .site-main article .entry-content,
body.fussr-refresh.archive .site-main article .entry-content {
	background: transparent;
	box-shadow: none;
	padding: 0 4px;
}

body.fussr-refresh.blog .site-main article .entry-content p,
body.fussr-refresh.archive .site-main article .entry-content p {
	font-size: 15px;
	line-height: 1.6;
}

body.fussr-refresh.blog .site-main article .entry-meta,
body.fussr-refresh.blog .site-main article .entry-footer,
body.fussr-refresh.archive .site-main article .entry-footer {
	color: var(--fr-muted);
	font-size: 13px;
}

body.fussr-refresh .woocommerce-form-login__submit,
body.fussr-refresh .woocommerce-form-register__submit,
body.fussr-refresh .woocommerce-Button.button {
	background: var(--fr-green);
	border-color: var(--fr-green);
	color: #fff;
	padding: 10px 26px;
}

body.fussr-refresh .woocommerce-form-login__submit:hover,
body.fussr-refresh .woocommerce-form-register__submit:hover,
body.fussr-refresh .woocommerce-Button.button:hover {
	background: var(--fr-green-hover);
	color: #fff;
}

body.fussr-refresh .error-404,
body.fussr-refresh .no-results {
	background: var(--fr-card);
	border-radius: var(--fr-radius);
	box-shadow: var(--fr-shadow);
	padding: 32px 40px;
	margin-bottom: 24px;
}

/* the header badges stay still; the bouncing on every page load was one effect too many */
body.fussr-refresh .site-badges li.animated {
	animation: none;
}

/* ---------- The preview switch ---------- */

body.fussr-refresh .fussr-refresh-badge {
	position: fixed;
	left: 50%;
	transform: translateX(-50%);
	bottom: 14px;
	z-index: 99999;
	background: #2f3437;
	color: #fff;
	font: 600 12px/1 var(--fr-font);
	padding: 9px 14px;
	border-radius: 999px;
	box-shadow: 0 6px 18px rgba(0, 0, 0, .2);
	text-decoration: none;
	opacity: .9;
}

body.fussr-refresh .fussr-refresh-badge:hover {
	color: #fff;
	opacity: 1;
}

/* ---------- Tablets and phones ---------- */

@media (max-width: 991px) {
	body.fussr-refresh ul.products,
	body.fussr-refresh ul.products.columns-3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 20px;
	}
}

@media (max-width: 767px) {
	html body.fussr-refresh.custom-background,
	html body.fussr-refresh {
		background-attachment: scroll;
	}

	body.fussr-refresh .entry-title,
	body.fussr-refresh .page-title,
	body.fussr-refresh.home .entry-content > h1 {
		font-size: 28px;
	}

	/* the catalog's own title was hidden on phones; it names the place, so it shows */
	body.fussr-refresh.woocommerce-shop #main > .page-title {
		display: block;
		text-align: center;
		margin: 18px 0 14px;
	}

	body.fussr-refresh h2.underline {
		font-size: 26px;
	}

	body.fussr-refresh.page:not(.home) .entry-content,
	body.fussr-refresh.single-post .entry-content,
	body.fussr-refresh .page-description,
	body.fussr-refresh.single-product div.product .summary,
	body.fussr-refresh .comments-area {
		padding: 22px 18px;
		border-radius: 14px;
	}

	body.fussr-refresh .entry-content p,
	body.fussr-refresh .entry-content li {
		font-size: 16.5px;
	}

	/* lists keep a small indent on a narrow screen */
	body.fussr-refresh .entry-content ol,
	body.fussr-refresh .entry-content ul,
	body.fussr-refresh .page-description ol,
	body.fussr-refresh .page-description ul {
		margin-left: 0;
		padding-left: 1.3em;
	}

	body.fussr-refresh ul.products,
	body.fussr-refresh ul.products.columns-3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	body.fussr-refresh ul.products li.product {
		padding: 6px 6px 10px;
		border-radius: 14px;
	}

	body.fussr-refresh ul.products li.product .woocommerce-loop-product__title {
		font-size: 15.5px;
		margin: 8px 2px 2px;
	}

	body.fussr-refresh ul.products li.product .price {
		font-size: 13.5px;
		margin-bottom: 8px;
	}

	body.fussr-refresh ul.products li.product .button {
		padding: 8px 10px;
		font-size: 14.5px;
	}

	/* two gifts per row on phones, like the bouquets */
	body.fussr-refresh .gift-list {
		flex-wrap: wrap;
		gap: 10px;
	}

	body.fussr-refresh .gift-list .gift-product {
		flex: 0 0 calc(50% - 5px);
		width: calc(50% - 5px);
		max-width: calc(50% - 5px);
		margin: 0;
	}

	body.fussr-refresh .main-navigation {
		border-radius: 12px;
	}

	body.fussr-refresh .fussr-refresh-badge {
		bottom: 10px;
		white-space: nowrap;
	}

	body.fussr-refresh nav.woocommerce-breadcrumb {
		gap: 6px;
	}

	body.fussr-refresh nav.woocommerce-breadcrumb > a,
	body.fussr-refresh nav.woocommerce-breadcrumb > span {
		font-size: 12px;
		min-height: 36px;
		padding: 0 6px;
		text-align: center;
	}
}
