/* WordPress and WooCommerce specifics on top of the static design stylesheets. */

/* Generic pages */
.flo-main { padding: 60px var(--gutter) 90px; }
.flo-entry { max-width: 900px; margin: 0 auto; }
.flo-entry-header h1 { font-size: clamp(36px, 4vw, 60px); line-height: 1.12; letter-spacing: -.05em; margin-bottom: 30px; }
.flo-entry-content { font-size: 15px; line-height: 1.9; color: #4c4c47; }
.flo-entry-content > * + * { margin-top: 1em; }
.flo-entry-content a { text-decoration: underline; text-underline-offset: 4px; }

/* Archive intro, tabs, toolbar */
.catalog-intro-text { max-width: 365px; font-size: 15px; line-height: 1.9; color: #666660; padding-bottom: 4px; }
.catalog-intro-text p + p { margin-top: 1em; }
.catalog-intro-text a { text-decoration: underline; text-underline-offset: 4px; }
.catalog-intro-text .woocommerce-products-header { margin: 0; }
.catalog-intro h1 { margin-top: 14px; font-size: clamp(40px, 4.3vw, 72px); line-height: 1.1; letter-spacing: -.055em; }
.breadcrumbs li:last-child { color: var(--ink); }
.catalog-toolbar .woocommerce-result-count { margin: 0; font-size: 13px; color: var(--muted); }
.sort-control .woocommerce-ordering { margin: 0; }
.sort-control .sort-label { color: var(--muted); }
.sort-control select { padding-right: 24px; font-size: 12px; }
.woocommerce-notices-wrapper { padding: 0 var(--gutter); }
.woocommerce-message, .woocommerce-info, .woocommerce-error { list-style: none; margin: 0 0 20px; padding: 16px 20px; background: var(--shop-paper); font-size: 14px; }
.woocommerce-message a.button, .woocommerce-info a.button { margin-right: 14px; text-decoration: underline; text-underline-offset: 4px; }
.catalog-layout-empty { display: block; }
.woocommerce-info { text-align: center; }

/* Filters as links */
.filter-options .filter-option { display: flex; align-items: center; gap: 12px; font-size: 13px; min-height: 28px; cursor: pointer; }
.filter-options .filter-option:hover { color: #7a6e57; }
.filter-swatch { width: 17px; height: 17px; flex-shrink: 0; background: var(--color); border: 1px solid #00000016; }
.filter-colors .filter-option { gap: 9px; font-size: 12px; min-height: 35px; }
.filter-colors .filter-option.is-selected .filter-swatch { outline: 1px solid var(--ink); outline-offset: 4px; }
.filter-colors .filter-option.is-selected { text-decoration: underline; text-underline-offset: 4px; }
.filter-radio-mark { width: 16px; height: 16px; flex-shrink: 0; border: 1px solid #8e8e86; border-radius: 50%; background: #fff; }
.filter-radio.is-selected .filter-radio-mark { border-color: var(--shop-dark); box-shadow: inset 0 0 0 3px #fff; background: var(--shop-dark); }
.filter-chip { text-decoration: none; }
.filter-chip:hover { border-color: var(--ink); }
.filter-heading .text-button { font-size: 12px; }

/* Product cards */
.shop-card { position: relative; }
.shop-card .product-image { display: block; background: #f5f5f3; overflow: hidden; }
.shop-card .product-image img { width: 100%; height: 100%; object-fit: cover; mix-blend-mode: multiply; }
.shop-card .product-info { display: flex; justify-content: space-between; gap: 12px; }
.shop-card .price, .related-grid .price { white-space: nowrap; }
.shop-card .price .woocommerce-price-suffix, .shop-card .price small { display: none; }
.shop-card .price .ywcrbp_their_price:empty { display: none; }
.shop-card .price del { opacity: .55; margin-right: 6px; }
.shop-card .price ins { text-decoration: none; }
.card-colors .color-button { cursor: pointer; }

/* Wishlist (YITH) rendered as the design's heart */
.favorite-button .yith-wcwl-add-to-wishlist, .favorite-detail .yith-wcwl-add-to-wishlist { margin: 0; }
.favorite-button { padding: 0; }
.favorite-button .yith-wcwl-add-to-wishlist, .favorite-button .yith-wcwl-add-button { display: block; width: 100%; height: 100%; }
.favorite-button .yith-wcwl-add-to-wishlist a { display: grid; place-items: center; width: 100%; height: 100%; min-height: 36px; background: none; font-size: 0; line-height: 0; text-decoration: none; color: var(--ink); }
.favorite-button .yith-wcwl-add-to-wishlist a span, .favorite-button .yith-wcwl-add-to-wishlist a i { display: none; }
.favorite-button .yith-wcwl-add-to-wishlist a svg, .favorite-detail a svg { display: block; width: 21px; height: 21px; }
.favorite-button .yith-wcwl-wishlistaddedbrowse svg, .favorite-button .yith-wcwl-wishlistexistsbrowse svg, .favorite-detail .yith-wcwl-wishlistaddedbrowse svg, .favorite-detail .yith-wcwl-wishlistexistsbrowse svg { fill: #d670f733; stroke: #80548e; }

/* Single product */
.flo-product .detail-price { display: flex; flex-wrap: wrap; gap: 6px 13px; align-items: baseline; }
.flo-product .detail-price .woocommerce-price-suffix { font-size: 11px; color: var(--muted); }
.flo-product .detail-price del { color: var(--muted); font-size: 18px; }
.flo-product .detail-price ins { text-decoration: none; }
.product-description > * + * { margin-top: 1em; }
.product-description strong { font-weight: 500; }
.product-purchase-form { margin-top: 28px; }
.product-purchase-form form.cart { display: grid; gap: 16px; margin: 0; }
.product-purchase-form table.variations { display: block; border: 0; margin: 0; }
.product-purchase-form table.variations tbody, .product-purchase-form table.variations tr, .product-purchase-form table.variations td { display: block; padding: 0; border: 0; }
.product-purchase-form table.variations th.label { display: none; }
.product-purchase-form .variations select { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); opacity: 0; }
.flo-swatches { display: flex; flex-wrap: wrap; align-items: center; margin-left: -6px; }
.flo-swatches .flo-swatch-legend { flex-basis: 100%; margin: 0 0 10px 6px; font-size: 13px; }
.flo-swatches .flo-selected-color { color: var(--muted); margin-left: 7px; }
.flo-swatches .color-button { width: 44px; height: 44px; cursor: pointer; }
.flo-swatches .color-button::after { width: 22px; height: 22px; }
.flo-swatches .color-button[aria-pressed="true"]::before { width: 32px; height: 32px; }
.product-purchase-form .reset_variations { display: inline-block; margin: 8px 0 0 6px; font-size: 12px; color: var(--muted); text-decoration: underline; text-underline-offset: 4px; }
.woocommerce-variation-price { font-size: 18px; }
.woocommerce-variation-description { font-size: 13px; color: var(--muted); }
.woocommerce-variation-availability .stock, .product-purchase-form .stock { margin: 0; font-size: 13px; color: var(--muted); }
.product-purchase-form .woocommerce-variation-add-to-cart, .product-purchase-form form.cart:not(.variations_form) { display: flex; gap: 12px; align-items: stretch; }
.product-purchase-form .quantity { display: flex; }
.product-purchase-form .quantity input { width: 72px; min-height: 56px; border: 1px solid var(--line); background: #fff; text-align: center; font: inherit; }
.product-purchase-form .single_add_to_cart_button { flex: 1; display: inline-flex; align-items: center; justify-content: center; min-height: 56px; border: 1px solid var(--shop-dark); background: var(--shop-dark); color: #fff; padding: 14px 23px; font: inherit; font-size: 14px; cursor: pointer; transition: background .2s; }
.product-purchase-form .single_add_to_cart_button:hover { background: #444c3b; }
.product-purchase-form .single_add_to_cart_button.disabled, .product-purchase-form .single_add_to_cart_button:disabled { opacity: .45; cursor: not-allowed; }
.product-purchase-form .wc-forward { margin-left: 12px; text-decoration: underline; text-underline-offset: 4px; }
.favorite-detail { padding: 0; }
.favorite-detail .yith-wcwl-add-to-wishlist, .favorite-detail .yith-wcwl-add-button, .favorite-detail .yith-wcwl-wishlistaddedbrowse, .favorite-detail .yith-wcwl-wishlistexistsbrowse { width: 100%; }
.favorite-detail a { display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; padding: 14px; font-size: 13px; color: var(--ink); text-decoration: none; }
.favorite-detail i { display: none; }
.favorite-detail .yith-wcwl-add-button a, .favorite-detail .yith-wcwl-wishlistaddedbrowse a, .favorite-detail .yith-wcwl-wishlistexistsbrowse a { border: 0; }
.product-information .woocommerce-Tabs-panel > * + * { margin-top: 13px; }
.product-information .woocommerce-Tabs-panel h2 { font-size: 16px; }
.product-information table { width: 100%; border-collapse: collapse; }
.product-information th, .product-information td { padding: 9px 0; text-align: left; font-weight: 400; vertical-align: top; }
.product-information th { color: var(--muted); width: 40%; }
.product-information td p { margin: 0; }
.product-information .comment-form input, .product-information .comment-form textarea { width: 100%; border: 1px solid var(--line); padding: 10px; font: inherit; }
.product-information .comment-form .submit { margin-top: 12px; padding: 14px 23px; border: 1px solid var(--shop-dark); background: var(--shop-dark); color: #fff; font: inherit; cursor: pointer; }
.product-sku .posted_in, .product-sku .tagged_as, .product-sku .sku_wrapper { display: block; }
.product-sku a { text-decoration: underline; text-underline-offset: 4px; }
.gallery-main { overflow: hidden; }
.gallery-thumbs { flex-wrap: wrap; align-items: flex-start; }
.gallery-thumbs img { display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.related-grid .shop-card .product-image { aspect-ratio: 4 / 5; }

/* Pagination */
.journey-pagination .page-numbers { display: grid; place-items: center; min-width: 45px; min-height: 45px; padding: 0 6px; border: 1px solid var(--line); font-size: 13px; }
.journey-pagination .page-numbers.current { background: var(--ink); color: #fff; border-color: var(--ink); }
.journey-pagination a.page-numbers:hover { border-color: #80548e; }
.journey-pagination .dots { border: 0; }

/* Category guide: complete original content below the products */
.category-guide { margin-top: 20px; }
.category-guide .flo-block-section { padding: 70px var(--gutter); background: var(--shop-paper); }
.category-guide .flo-block-row, .category-guide .flo-block-col { max-width: 900px; margin-left: auto; margin-right: auto; }
.category-guide .flo-block-row .flo-block-row, .category-guide .flo-block-col .flo-block-col { max-width: none; }
.category-guide .flo-block-row.collapse { margin-top: 24px; margin-bottom: 8px; }
.category-guide h2 { font-size: clamp(26px, 2.8vw, 40px); line-height: 1.2; letter-spacing: -.03em; margin: 0 0 18px; }
.category-guide h3 { font-size: 22px; line-height: 1.3; letter-spacing: -.02em; margin: 34px 0 12px; }
.category-guide h4 { font-size: 17px; margin: 24px 0 8px; font-weight: 500; }
.category-guide p, .category-guide li { font-size: 15px; line-height: 1.9; color: #4c4c47; }
.category-guide p { margin: 0 0 1em; }
.category-guide ul, .category-guide ol { margin: 0 0 1em; padding-left: 1.25em; }
.category-guide a { text-decoration: underline; text-underline-offset: 4px; }
.category-guide .flo-block-gap { height: 24px; }
.category-guide .flo-block-divider { margin: 36px 0; border: 0; border-top: 2px solid #c3c1c1; }
.category-guide .flo-block-menu { list-style: none; margin: 0; padding: 0; }
.category-guide .flo-block-menu li { border-bottom: 1px solid var(--line); }
.category-guide .flo-block-menu a { display: block; padding: 10px 0; text-decoration: none; font-size: 14px; }
.category-guide .flo-block-menu a:hover { text-decoration: underline; }
.category-guide .flo-block-image img { width: 100%; height: auto; }
.category-guide .scroll-to { display: block; scroll-margin-top: 90px; height: 0; }
@media (min-width: 750px) {
	.category-guide .flo-block-col-6 { display: inline-block; vertical-align: top; width: calc(50% - 4px); }
}
@media (max-width: 650px) {
	.category-guide .flo-block-section { padding: 45px var(--gutter); }
}

/* Accordions and other blocks inside product tabs */
.flo-block-gap { height: 16px; }
.flo-accordion details { border-top: 1px solid var(--line); }
.flo-accordion summary { cursor: pointer; padding: 14px 0; font-size: 13px; color: var(--ink); }
.flo-accordion details > div { padding: 0 0 16px; }
.product-information h3 { font-size: 15px; font-weight: 500; margin-bottom: 8px; }
.flo-block-text { font-size: 1rem; }
.flo-block-button { text-decoration: underline; text-underline-offset: 4px; }
