/*
Theme Name: Sassy Reviews
Theme URI: https://sassyreviews.com
Author: Abdullah
Author URI: https://sassyreviews.com
Description: A custom, highly modular WordPress theme for bookish reviews, dark romance, author spotlights, and community nooks.
Version: 1.0.0
Tested up to: 6.5
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: sassy-reviews
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: custom-theme, book-reviews, dark-romance, modular, tailwind
*/

.vintage-box {
    background-color: #f9f5ed;
    border: 1px solid rgba(197, 160, 89, 0.5);
    box-shadow: inset 0 0 20px rgba(197, 160, 89, 0.08);
}

.dark-vintage-card {
    background-color: #1a0918;
    border: 1px solid #c5a059;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.4);
}

.relative.group\/nested:hover>ul.sub-menu {
    display: block !important;
}

/* =========================================================
   SIDEBAR WIDGETS PIXEL-PERFECT SPACING & LAYOUT OVERRIDES
   ========================================================= */

/* General Widget Container Spacing */
.widget {
    margin-bottom: 1.5rem;
}

.widget .widget-title {
    margin-bottom: 0.75rem;
}

/* Category & Navigation List Widgets */
.widget_categories ul,
.widget_archive ul,
.widget_nav_menu ul,
.widget_pages ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    /* Balanced spacing between items */
}

.widget_categories ul li,
.widget_archive ul li,
.widget_nav_menu ul li,
.widget_pages ul li {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 0.25rem 0 !important;
    border-bottom: none !important;
    font-size: 0.75rem;
    /* text-xs */
    color: #2d252b;
}

.widget_categories ul li a,
.widget_archive ul li a,
.widget_nav_menu ul li a,
.widget_pages ul li a {
    color: #2d252b;
    font-weight: 500;
    transition: color 0.2s ease;
}

.widget_categories ul li a:hover,
.widget_archive ul li a:hover,
.widget_nav_menu ul li a:hover {
    color: #c5a059;
    /* brand-gold */
}

/* Category Post Count styling "(18)" */
.widget_categories ul li,
.widget_archive ul li {
    color: #6b7280;
    /* text-gray-500 */
}

/* Search Widget Form Fixes */
.widget_search form {
    display: flex !important;
    gap: 0.25rem !important;
    margin-top: 0.5rem !important;
}

.widget_search input[type="search"],
.widget_search input[type="text"] {
    flex-grow: 1;
    padding: 0.5rem 0.75rem !important;
    background-color: #ffffff !important;
    border: 1px solid rgba(197, 160, 89, 0.5) !important;
    border-radius: 0.25rem !important;
    font-size: 0.75rem !important;
    color: #1f2937 !important;
}

.widget_search input[type="search"]:focus {
    outline: none !important;
    border-color: #2c1328 !important;
}

.widget_search button,
.widget_search input[type="submit"] {
    padding: 0.5rem 0.85rem !important;
    background-color: #2c1328 !important;
    color: #c5a059 !important;
    border-radius: 0.25rem !important;
    font-weight: 700 !important;
    transition: background-color 0.2s ease;
    cursor: pointer;
}

.widget_search button:hover,
.widget_search input[type="submit"]:hover {
    background-color: #1a0918 !important;
}

/* Recent / Popular Posts Widget List Spacing */
.widget_recent_entries ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    /* Gap between post entries */
}

.widget_recent_entries ul li {
    display: flex !important;
    flex-direction: column;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid rgba(197, 160, 89, 0.2);
}

.widget_recent_entries ul li:last-child {
    border-bottom: none;
}

.widget_recent_entries ul li a {
    font-family: 'Cinzel', serif;
    font-size: 0.75rem;
    font-weight: 700;
    color: #2c1328;
    line-height: 1.3;
    transition: color 0.2s ease;
}

.widget_recent_entries ul li a:hover {
    color: #c5a059;
}

.widget_recent_entries ul li .post-date {
    font-size: 0.625rem;
    /* 10px */
    color: #6b7280;
    margin-top: 0.25rem;
}

/* WooCommerce Price Del & Ins styling matching shop-main.html */
.price del {
    color: #9ca3af !important;
    font-size: 0.75rem !important;
    font-weight: 400 !important;
    margin-right: 0.25rem !important;
}

.price ins {
    text-decoration: none !important;
}

.woocommerce-ordering select {
    padding: 0.375rem 0.75rem !important;
    background-color: #ffffff !important;
    border: 1px solid rgba(197, 160, 89, 0.5) !important;
    border-radius: 0.25rem !important;
    color: #1f2937 !important;
    font-weight: 600 !important;
    font-size: 0.75rem !important;
    outline: none !important;
}

.woocommerce-ordering select:focus {
    border-color: #2c1328 !important;
}

.widget.woocommerce input[type="search"],
.widget_product_search input[type="search"] {
    padding: 0.5rem 0.75rem !important;
    background-color: #ffffff !important;
    border: 1px solid rgba(197, 160, 89, 0.5) !important;
    border-radius: 0.25rem !important;
    font-size: 0.75rem !important;
    color: #1f2937 !important;
}

/* Sidebar Category Widget Styling */
.widget_product_categories ul.product-categories {
    font-family: Montserrat, sans-serif;
    font-size: 0.75rem;
    line-height: 1rem;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
}

.widget_product_categories ul.product-categories li {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    color: #2d252b;
    transition: color 0.2s;
}

.widget_product_categories ul.product-categories li a {
    color: inherit;
    font-weight: 500;
}

.widget_product_categories ul.product-categories li a:hover {
    color: #c5a059;
}

.widget_product_categories ul.product-categories li .count {
    font-size: 10px;
    color: #6b7280;
    font-weight: 400;
}



/* =========================================================
   SINGLE PRODUCT & WOOCOMMERCE FORM COMPATIBILITY
   ========================================================= */
.single-product .quantity input.qty {
    width: 3rem;
    text-align: center;
    font-weight: 700;
    color: #2c1328;
    background: transparent;
    border: none;
    font-size: 0.75rem;
}

.single-product form.cart {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
}

.single-product form.cart .button.single_add_to_cart_button {
    padding: 0.75rem 1.5rem !important;
    background-color: #2c1328 !important;
    color: #c5a059 !important;
    font-family: 'Montserrat', sans-serif !important;
    font-weight: 700 !important;
    font-size: 0.75rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.1em !important;
    border-radius: 0.25rem !important;
    border: 1px solid #c5a059 !important;
    transition: all 0.2s ease !important;
}

.single-product form.cart .button.single_add_to_cart_button:hover {
    background-color: #1a0918 !important;
}

.woocommerce-tabs ul.tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    border-bottom: 1px solid rgba(197, 160, 89, 0.3);
    background-color: #f9f5ed;
    padding: 0.5rem 1rem 0;
    margin: 0 !important;
    list-style: none !important;
}

.woocommerce-tabs ul.tabs li {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    background: transparent !important;
}

.woocommerce-tabs ul.tabs li a {
    display: inline-block;
    padding: 0.75rem 1.25rem;
    font-weight: 700;
    color: #2c1328;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-size: 0.75rem;
    border-bottom: 2px solid transparent;
}

.woocommerce-tabs ul.tabs li.active a {
    border-bottom-color: #2c1328;
    color: #2c1328;
}

.related.products ul.products {
    display: grid !important;
    grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
    gap: 1.5rem !important;
}

@media (min-width: 640px) {
    .related.products ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (min-width: 1024px) {
    .related.products ul.products {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

/* =========================================================
   WOOCOMMERCE ARCHIVE PAGINATION HORIZONTAL LAYOUT
   ========================================================= */
.woocommerce-pagination ul.page-numbers {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.5rem !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.woocommerce-pagination ul.page-numbers li {
    display: inline-block !important;
    margin: 0 !important;
}

.woocommerce-pagination ul.page-numbers li span.current {
    padding: 0.375rem 0.75rem !important;
    background-color: #2c1328 !important;
    color: #c5a059 !important;
    font-weight: 700 !important;
    border-radius: 0.25rem !important;
    border: 1px solid #c5a059 !important;
}

.woocommerce-pagination ul.page-numbers li a.page-numbers {
    padding: 0.375rem 0.75rem !important;
    background-color: #f9f5ed !important;
    border: 1px solid rgba(197, 160, 89, 0.5) !important;
    color: #2c1328 !important;
    border-radius: 0.25rem !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: background-color 0.2s;
}

.woocommerce-pagination ul.page-numbers li a.page-numbers:hover {
    background-color: #eee5d8 !important;
}

/* =========================================================
   WOOCOMMERCE STAR RATINGS UNICODE OVERRIDE
   ========================================================= */
.woocommerce .star-rating {
    overflow: hidden;
    position: relative;
    height: 1.2em;
    line-height: 1.2em;
    font-size: 11px;
    width: 5.4em;
    font-family: "Font Awesome 6 Free", sans-serif;
    color: #c5a059 !important;
    margin: 0 auto !important;
}

.woocommerce .star-rating::before {
    content: "\f005\f005\f005\f005\f005";
    color: #d1d5db;
    float: left;
    top: 0;
    left: 0;
    position: absolute;
    font-weight: 400;
}

.woocommerce .star-rating span {
    overflow: hidden;
    float: left;
    top: 0;
    left: 0;
    position: absolute;
    padding-top: 1.5em;
}

.woocommerce .star-rating span::before {
    content: "\f005\f005\f005\f005\f005";
    top: 0;
    position: absolute;
    left: 0;
    color: #c5a059;
    font-weight: 900;
}

/* =========================================================
   SINGLE PRODUCT TABS & REVIEW FORM FIXES
   ========================================================= */
/* Additional Information Table Styling */
.woocommerce table.shop_attributes {
    width: 100% !important;
    border-collapse: collapse !important;
    margin-top: 0.5rem !important;
    font-size: 0.75rem !important;
}

.woocommerce table.shop_attributes th {
    font-family: Cinzel, serif !important;
    font-weight: 700 !important;
    color: #2c1328 !important;
    text-transform: uppercase !important;
    width: 120px !important;
    padding: 0.5rem 0 !important;
    text-align: left !important;
}

.woocommerce table.shop_attributes td {
    color: #2d252b !important;
    padding: 0.5rem 0 !important;
    font-style: italic !important;
}

/* Review Form Layout & Spacing Cleanups */
#review_form_wrapper form {
    display: flex;
    flex-direction: column;
}

#review_form_wrapper form .comment-notes {
    font-size: 0.75rem;
    color: #4b5563;
    margin-bottom: 1rem;
}

#review_form_wrapper form .form-submit {
    margin-top: 0.5rem;
}

/* =========================================================
   WOOCOMMERCE INTERACTIVE STAR RATING FORM FIX
   ========================================================= */
.woocommerce p.stars {
    display: block !important;
    margin: 0.5rem 0 1rem !important;
}

.woocommerce p.stars span {
    display: flex !important;
    gap: 0.35rem !important;
}

.woocommerce p.stars span a {
    position: relative !important;
    display: inline-block !important;
    width: 1.25rem !important;
    height: 1.25rem !important;
    text-indent: -9999px !important;
    text-decoration: none !important;
    color: transparent !important;
}

.woocommerce p.stars span a::before {
    content: "\f005" !important;
    font-family: "Font Awesome 6 Free", "FontAwesome", sans-serif !important;
    font-weight: 400 !important;
    font-size: 1.1rem !important;
    color: #c5a059 !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    text-indent: 0 !important;
}

.woocommerce p.stars span a:hover::before,
.woocommerce p.stars span a:hover~a::before,
.woocommerce p.stars span a.active::before {
    font-weight: 900 !important;
    color: #c5a059 !important;
}

.woocommerce p.stars:hover span a::before {
    font-weight: 900 !important;
}

.woocommerce p.stars span a:hover~a::before {
    font-weight: 400 !important;
}