/*
Theme Name:     Boutique
Theme URI:      https://woocommerce.com/products/boutique/
Description:    A Storefront child theme designed for small WooCommerce stores / boutiques. Boutique features a simple, traditional design which you can customise using the settings available in the WordPress Customizer. Looking for a theme for your new WooCommerce store? Look no further than Storefront and Boutique!
Author:         WooCommerce
Author URI:     http://woocommerce.com
Template:       storefront
Version:        2.0.17
License:        GNU General Public License v2 or later
License URI:    http://www.gnu.org/licenses/gpl-2.0.html
Tags:           e-commerce, light, dark, two-columns, right-sidebar, responsive-layout, accessibility-ready
Text Domain:    boutique
*/
/* =Boutique styles starts here
-------------------------------------------------------------- */
body {
  background: #303030;
  -webkit-font-smoothing: subpixel-antialiased; }

body,
button,
input,
select,
textarea {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  font-weight: 400;
  letter-spacing: 0 !important;
}
  h1 a,
  h1 label,
  h2 a,
  h2 label,
  h3 a,
  h3 label,
  h4 a,
  h4 label,
  h5 a,
  h5 label,
  h6 a,
  h6 label {
    font-weight: 400;
  }

.widget h1,
.widget h2,
.widget h3,
.widget h4,
.widget h5,
.widget h6 {
  font-weight: 400; }

.site-header {
  border-bottom: 0; }

.no-wc-breadcrumb .site-header {
  margin-bottom: 0; }

.site-branding .site-title {
  font-family: 'Playfair Display', serif;
  letter-spacing: 0; }

.site-branding .site-title a {
  font-weight: 400; }

.storefront-product-section {
  margin-bottom: 4.236em; }

.storefront-product-section,
.hentry {
  border-bottom-style: double;
  border-bottom-width: 3px;
  border-bottom-color: rgba(0, 0, 0, 0.025); }

.woocommerce-tabs ul.tabs li a,
.woocommerce-product-rating,
.woocommerce-breadcrumb {
  text-transform: uppercase; }

.woocommerce-breadcrumb {
  background-color: transparent !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  margin: 0 0 1.618em; }
  .woocommerce-breadcrumb a {
    text-transform: none; }

.woocommerce-error,
.woocommerce-info,
.woocommerce-message,
.woocommerce-noreviews,
p.no-comments {
  color: inherit;
  background: rgba(0, 0, 0, 0.025); }
  .woocommerce-error a,
  .woocommerce-error a:hover,
  .woocommerce-error .button,
  .woocommerce-error .button:hover,
  .woocommerce-info a,
  .woocommerce-info a:hover,
  .woocommerce-info .button,
  .woocommerce-info .button:hover,
  .woocommerce-message a,
  .woocommerce-message a:hover,
  .woocommerce-message .button,
  .woocommerce-message .button:hover,
  .woocommerce-noreviews a,
  .woocommerce-noreviews a:hover,
  .woocommerce-noreviews .button,
  .woocommerce-noreviews .button:hover,
  p.no-comments a,
  p.no-comments a:hover,
  p.no-comments .button,
  p.no-comments .button:hover {
    color: inherit;
    font-weight: normal; }
  .woocommerce-error a,
  .woocommerce-info a,
  .woocommerce-message a,
  .woocommerce-noreviews a,
  p.no-comments a {
    text-decoration: underline; }

.woocommerce-error {
  border-left-color: #e2401c; }

.woocommerce-info,
.woocommerce-noreviews,
p.no-comments {
  border-left-color: #3d9cd2; }

.woocommerce-message {
  border-left-color: #0f834d; }

.home.blog .site-header,
.home.page:not(.page-template-template-homepage) .site-header,
.home.post-type-archive-product .site-header {
  margin-bottom: 0; }

button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.button,
.added_to_cart,
.widget-area .widget a.button,
.site-header-cart .widget_shopping_cart a.button {
  box-shadow: inset 0 -0.327em 1.618em rgba(0, 0, 0, 0.1); }

button.menu-toggle {
  margin-bottom: 0; }

.boutique-primary-navigation {
  -webkit-font-smoothing: antialiased; }
  .boutique-primary-navigation::after {
    clear: both;
    content: "";
    display: table; }

.no-wc-breadcrumb .storefront-primary-navigation {
  padding-top: 2.618em; }

.main-navigation ul.menu > li > ul,
.main-navigation ul.menu ul,
.site-header-cart .widget_shopping_cart {
  background: #212121; }

.storefront-primary-navigation {
  background-color: transparent; }

.posted-on,
.byline {
  text-transform: uppercase;
  letter-spacing: 2px;
  font-size: .7em; }

.hentry .entry-header {
  border-bottom-width: 0;
  margin: 0 0 3.631em; }

.widget h3.widget-title,
.widget h2.widgettitle {
  border-bottom-width: 1px;
  border-bottom-color: rgba(0, 0, 0, 0.1) !important;
  font-style: italic;
  font-weight: 400; }

.hentry .entry-header h1 {
  border-bottom: 4px double rgba(0, 0, 0, 0.1);
  padding-bottom: .618em; }

.col-full,
.header-widget-region {
  box-sizing: content-box; }

.header-widget-region {
  margin: 0; }
  .header-widget-region .col-full {
    background: #fff;
    padding: 0 1em; }
  .header-widget-region .widget {
    padding-top: 2.244em; }

.site-content .col-full {
  background: #fff;
  padding: 1.618em; }

.site-footer {
  padding: 0; }
  .site-footer .col-full {
    padding: 1em; }

.site-info {
  padding: 1em 0; }

.site-header-cart {
  margin-bottom: 0; }

ul.products li.product {
  overflow: visible; }
  ul.products li.product .price {
    position: absolute;
    top: .618em;
    right: 1px;
    padding: .53em .857em;
    background: #555;
    color: #fff;
    font-weight: 700;
    box-shadow: 5px 0 0 0 #555; }
    ul.products li.product .price:after {
      content: "";
      display: block;
      position: absolute;
      right: -5px;
      top: 100%;
      border: 5px solid transparent;
      border-top-color: #222222;
      border-left-width: 0; }
    ul.products li.product .price del {
      font-weight: 400;
      opacity: 0.5; }
  ul.products li.product img {
    border: 1px solid rgba(0, 0, 0, 0.1); }

.single-product .images img {
  border: 1px solid rgba(0, 0, 0, 0.1); }

table.cart td.actions {
  border: 0;
  padding-top: 1.618em; }

.widget_product_categories ul li:before,
.widget_categories ul li:before {
  content: "\f07b" !important; }

.widget_product_categories ul li.current-cat:before,
.widget_categories ul li.current-cat:before {
  content: "\f07c" !important; }

.widget_recent_comments ul li:before {
  content: "\f075" !important; }

.widget_archive ul li:before {
  content: "\f07c" !important; }

.widget_recent_entries ul li:before, .widget_pages ul li:before {
  content: "\f15c" !important; }

.page-template-template-homepage:not(.has-post-thumbnail) .site-main,
.page-template-template-homepage .site-main {
  padding-top: 0; }

.page-template-template-homepage .site-main > .type-page:first-child {
  width: auto !important;
  margin-left: 0 !important; }
  .page-template-template-homepage .site-main > .type-page:first-child.hentry .entry-header {
    margin-left: auto;
    margin-right: auto; }
    .page-template-template-homepage .site-main > .type-page:first-child.hentry .entry-header h1 {
      font-size: 2.618em; }
  .page-template-template-homepage .site-main > .type-page:first-child .col-full {
    padding: 0;
    background: none;
    box-shadow: none; }

.content-area,
.widget-area {
  margin-bottom: 0; }

.woocommerce-checkout.scc-distraction-free-checkout .boutique-primary-navigation {
  display: none; }

.woocommerce-checkout.scc-distraction-free-checkout .site-header {
  margin-bottom: 0; }

.sph-hero .col-full {
  background: transparent;
  box-shadow: none; }

@media screen and (min-width: 768px) {
  .col-full {
    padding: 0 5.874em; }
  .boutique-primary-navigation {
    position: relative;
    margin-left: -5.874em;
    margin-right: -5.874em;
    padding: 0 5.874em;
    border-top-left-radius: 0.327em;
    border-top-right-radius: 0.327em;
    background: #000000;
    clear: both; }
  .site-branding,
  .site-search,
  .site-header-cart,
  .site-logo-anchor,
  .custom-logo-link {
    margin-bottom: 1em; }
  .site-header {
    padding-top: 1em; }
  .main-navigation ul.menu > li > a, .main-navigation ul.nav-menu > li > a,
  .site-header-cart .cart-contents {
    padding-bottom: 1em !important;
    padding-top: 1em; }
  .site-content .col-full,
  .header-widget-region .col-full {
    padding: 4.236em 5.874em; }
  .site-footer .col-full {
    padding: 1em 5.874em; }
  .header-widget-region .col-full {
    padding-top: 0;
    padding-bottom: 0; }
  .main-navigation ul.menu li.current-menu-item > a {
    position: relative; }
    .main-navigation ul.menu li.current-menu-item > a:before {
      content: '';
      display: block;
      position: absolute;
      top: 100%;
      left: 50%;
      border: .618em solid transparent;
      border-top-color: #212121;
      margin-left: -.618em; }
  .main-navigation ul.menu ul,
  .main-navigation ul.nav-menu ul {
    background: #212121; }
  .main-navigation .smm-mega-menu {
    margin-left: 0;
    margin-right: 0;
    padding: 4.236em 5.874em;
    background-color: #212121 !important; }
    .main-navigation .smm-mega-menu ul {
      background-color: transparent !important; }
  .sd-sticky-navigation .main-navigation .smm-mega-menu {
    margin-left: -5.874em;
    margin-right: -5.874em; }
  .page-template-template-homepage-php .content-area {
    width: 73.9130434783%;
    float: left;
    margin-right: 4.347826087%; }
    .page-template-template-homepage-php .content-area .columns-3 ul.products li.product {
      width: 29.4117647059%;
      float: left;
      margin-right: 5.8823529412%; }
  .page-template-template-homepage-php .boutique-featured-products .storefront-product-section {
    margin-left: -5.874em;
    margin-right: -5.874em;
    padding: 0 5.874em;
    background: rgba(0, 0, 0, 0.025);
    padding-top: 3.632em;
    padding-bottom: 1em;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    box-shadow: inset 0 0 0 0.53em rgba(0, 0, 0, 0.025); }
    .page-template-template-homepage-php .boutique-featured-products .storefront-product-section ul.products li.product span,
    .page-template-template-homepage-php .boutique-featured-products .storefront-product-section ul.products li.product .button,
    .page-template-template-homepage-php .boutique-featured-products .storefront-product-section ul.products li.product .star-rating {
      display: none; }
    .page-template-template-homepage-php .boutique-featured-products .storefront-product-section ul.products li.product h2,
    .page-template-template-homepage-php .boutique-featured-products .storefront-product-section ul.products li.product h3,
    .page-template-template-homepage-php .boutique-featured-products .storefront-product-section ul.products li.product .price {
      display: block;
      position: absolute; }
    .page-template-template-homepage-php .boutique-featured-products .storefront-product-section ul.products li.product h2,
    .page-template-template-homepage-php .boutique-featured-products .storefront-product-section ul.products li.product h3 {
      top: 0;
      left: 0;
      z-index: 99;
      -webkit-transition: all ease .2s;
      transition: all ease .2s;
      color: #f6f6f6;
      opacity: 0;
      width: 100%;
      text-align: left;
      padding: 1.618em;
      color: #303030;
      opacity: 0; }
    .page-template-template-homepage-php .boutique-featured-products .storefront-product-section ul.products li.product .price {
      bottom: 0;
      right: 0;
      top: auto;
      z-index: 99; }
      .page-template-template-homepage-php .boutique-featured-products .storefront-product-section ul.products li.product .price span {
        display: inline; }
    .page-template-template-homepage-php .boutique-featured-products .storefront-product-section ul.products li.product img {
      margin: 0; }
    .page-template-template-homepage-php .boutique-featured-products .storefront-product-section ul.products li.product > a {
      display: block; }
      .page-template-template-homepage-php .boutique-featured-products .storefront-product-section ul.products li.product > a:after {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(255, 255, 255, 0.9);
        border: 1px solid #fff;
        opacity: 0;
        -webkit-transition: all ease .2s;
        transition: all ease .2s;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2); }
      .page-template-template-homepage-php .boutique-featured-products .storefront-product-section ul.products li.product > a:before {
        content: "";
        display: block;
        position: absolute;
        top: .618em;
        left: .618em;
        right: .618em;
        bottom: .618em;
        border: 4px double rgba(0, 0, 0, 0.1);
        z-index: 9;
        opacity: 0;
        -webkit-transition: all ease .2s;
        transition: all ease .2s; }
      .page-template-template-homepage-php .boutique-featured-products .storefront-product-section ul.products li.product > a:hover h2,
      .page-template-template-homepage-php .boutique-featured-products .storefront-product-section ul.products li.product > a:hover h3, .page-template-template-homepage-php .boutique-featured-products .storefront-product-section ul.products li.product > a:hover:after, .page-template-template-homepage-php .boutique-featured-products .storefront-product-section ul.products li.product > a:hover:before {
        opacity: 1; }
  .page-template-template-homepage-php .boutique-featured-products .hentry {
    padding-bottom: 0;
    border-bottom: 0; }
  .page-template-template-homepage-php .boutique-featured-products .entry-header h1 {
    text-align: center; }
  .page-template-template-homepage .content-area .sph-hero,
  .page-template-template-homepage .content-area .sprh-hero {
    margin-top: 0 !important; }
    .page-template-template-homepage .content-area .sph-hero.full,
    .page-template-template-homepage .content-area .sprh-hero.full {
      margin-left: 0 !important;
      margin-right: 0 !important; }
  .page-template-template-homepage .boutique-featured-products .sph-hero.full,
  .page-template-template-homepage .boutique-featured-products .sprh-hero.full {
    margin-left: -5.874em;
    margin-right: -5.874em; }
  .page-template-template-homepage.left-sidebar .content-area {
    width: 73.9130434783%;
    float: right;
    margin-right: 0; }
  .page-template-template-homepage.left-sidebar .widget-area {
    width: 21.7391304348%;
    float: left;
    margin-right: 4.347826087%; }
  .sph-hero .col-full,
  .sprh-hero .col-full {
    background-color: transparent;
    padding: 0; }
  .sph-hero h1,
  .sprh-hero h1 {
    font-weight: 400; }
  .site-main .sph-hero .overlay,
  .site-main .sprh-hero .overlay {
    padding: 4.236em; } }

@media screen and (max-width: 800px) {
  .col-full {
    padding: 0 1em;
    margin: 0 1em; }
  .boutique-featured-products .sph-hero.full,
  .boutique-featured-products .sprh-hero.full {
    margin-left: -1em;
    margin-right: -1em; }
  .boutique-featured-products .storefront-product-section,
  .boutique-primary-navigation {
    margin-left: -1em;
    margin-right: -1em;
    padding: 0 1em; }
  .boutique-primary-navigation {
    padding-top: 0;
    padding-bottom: 1em; }
    .boutique-primary-navigation button.menu-toggle {
      margin-top: 0; }
  .site-content .col-full,
  .site-footer .col-full {
    padding-left: 1em;
    padding-right: 1em; } }

/**
 * Storefront 2.3
 */
.storefront-2-3 .widget_product_categories ul li:before,
.storefront-2-3 .widget_categories ul li:before {
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: "\f07b" !important; }

.storefront-2-3 .widget_product_categories ul li.current-cat:before,
.storefront-2-3 .widget_categories ul li.current-cat:before {
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: "\f07b" !important; }

.storefront-2-3 .widget_recent_comments ul li:before {
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: "\f075" !important; }

.storefront-2-3 .widget_archive ul li:before {
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: "\f07c" !important; }

.storefront-2-3 .widget_recent_entries ul li:before, .storefront-2-3 .widget_pages ul li:before {
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: "\f15c" !important; }

/**
 * Layout Redesign
 * Reduce the extreme side padding on all containers to fix "narrow content" issues.
 * This affects the Header, Main Content area, and Footer.
 */
@media screen and (min-width: 768px) {
    .col-full,
    .site-content .col-full,
    .header-widget-region .col-full,
    .site-footer .col-full {
        padding-left: 2em !important;
        padding-right: 2em !important;
    }

    /* Expand the overall container from default 1064px to 1200px */
    .col-full {
        max-width: 1200px;
    }
}

/**
 * Footer Redesign (Typography & Style)
 */

.site-footer .widget-title, 
.site-footer .widgettitle {
    font-weight: 700 !important;
    font-style: normal !important;
    text-transform: none !important;
    border-bottom: 0 !important;
    color: #131315 !important;
    font-size: 1.1em !important;
    margin-bottom: 1.2em !important;
}

.footer-widgets {
    border-top: 1px solid rgba(0, 0, 0, 0.05) !important;
}

.footer-widgets ul {
    list-style: none !important;
    margin-left: 0 !important;
}

.site-footer .widget ul li {
    padding: 0.3em 0 !important;
    margin-bottom: 0 !important;
}

.site-footer .widget ul li::before {
    display: none !important; /* Remove Storefront icons/bullets */
}

.site-footer .widget a,
.site-footer .textwidget,
.site-footer .site-info {
    color: #666666 !important;
    font-size: 0.95em;
    text-decoration: none !important;
}

.site-footer .widget a:hover {
    color: #000000 !important;
}

/**
 * Custom Header Redesign
 */
.site-header {
    background-color: #ffffff !important;
    padding: 0 !important;
}

.header-top-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1.5em 0;
}

.header-branding {
    flex: 0 0 200px;
}

.header-search {
    flex: 1;
    margin: 0 2em;
    max-width: 400px;
}

.header-icons {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
}

.header-account {
    margin-right: 1.5em;
}

.header-account a {
    color: #333;
    display: block;
}

.site-header-cart .cart-contents::after {
    display: none !important; /* Remove standard cart icon if necessary to use custom */
}

/* Remove default Storefront margins that might break our layout */
.site-header .site-branding,
.site-header .site-search,
.site-header .site-header-cart {
    margin-bottom: 0 !important;
    float: none !important;
    width: auto !important;
}

.header-row-bottom {
    border-top: 1px solid #eeeeee;
    border-bottom: 1px solid #eeeeee;
}

.header-bottom-inner .main-navigation {
    margin-left: 0 !important;
}

.main-navigation ul.menu > li > a {
    padding: 1em 1.5em 1em 0 !important;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 0.9em;
}

/**
 * Footer Credit Alignment
 */
.site-footer .site-info {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 1.5em 0 !important;
}

@media screen and (max-width: 768px) {
    .site-footer .site-info {
        flex-direction: column;
        text-align: center;
        gap: 0.5em;
    }
}

/**
 * Popular Categories Shortcode Styling
 */
.boutique-popular-categories {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    margin: 2.5em 0;
}

.boutique-popular-categories .category-item {
    flex: 1;
    min-width: 200px;
    text-align: center;
}

.boutique-popular-categories .category-item a {
    text-decoration: none !important;
}

.boutique-popular-categories .category-image {
    margin-bottom: 20px;
    overflow: hidden;
    border-radius: 12px;
    aspect-ratio: 4 / 3;
}

.boutique-popular-categories .category-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.5s ease;
}

.boutique-popular-categories .category-item:hover img {
    transform: scale(1.08);
}

.boutique-popular-categories .category-title {
    font-weight: 700 !important;
    font-family: 'Lato', sans-serif !important;
    font-style: normal !important;
    font-size: 1.1em !important;
    color: #000000 !important;
    margin-top: 0.8em !important;
    text-transform: none !important;
}

@media screen and (max-width: 600px) {
    .boutique-popular-categories .category-item {
        flex: 0 0 calc(50% - 15px);
    }
}



.boutique-footer-content {
    background-color: #fff !important;
    padding: 60px 20px 20px !important;
    max-width: 1280px;
    margin: 0 auto;
}

/* Grid Layout for Widgets */
.boutique-footer-content .footer-widgets {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 20px !important;
    margin-bottom: 30px !important;
    border: none !important;
}

.boutique-footer-content .block {
    padding: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    float: none !important;
}

/* Headings */
.boutique-footer-content .widget-title {
    display: block !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #222 !important;
    margin-bottom: 20px !important;
    text-transform: none !important;
    border-bottom: none !important;
    font-style: normal !important;
}

/* Lists */
.boutique-footer-content .block ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.boutique-footer-content .block ul li {
    margin-bottom: 12px !important;
    padding: 0 !important;
}

/* Hide theme default bullet icons */
.boutique-footer-content .block ul li::before {
    display: none !important;
}

/* Links and Text */
.boutique-footer-content .block a,
.boutique-footer-content .textwidget p,
.boutique-footer-content .textwidget a {
    color: #666 !important;
    font-size: 13px !important;
    text-decoration: none !important;
    line-height: 1.5 !important;
    margin-bottom: 10px !important;
    box-shadow: none !important; /* Removes Storefront link underlines */
}

.boutique-footer-content .block a:hover {
    color: #222 !important;
}

/* Bottom Copyright Bar */
.boutique-footer-content .site-info {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 15px !important;
    padding: 20px 0 0 0 !important;
    border-top: 1px solid #eee !important;
    font-size: 12px !important;
    color: #888 !important;
    width: 100% !important;
}

.boutique-footer-content .footer-credit-left,
.boutique-footer-content .footer-credit-right {
    color: #888 !important;
    font-size: 12px !important;
}

/* Responsive adjustments */
@media screen and (max-width: 992px) {
    .boutique-footer-content .footer-widgets {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 40px 20px !important;
    }
}

@media screen and (max-width: 576px) {
    .boutique-footer-content .footer-widgets {
        grid-template-columns: 1fr !important;
    }

    .boutique-footer-content .site-info {
        flex-direction: column !important;
        text-align: center !important;
        gap: 5px !important;
    }
}

.boutique-footer-content .footer-widgets::before,
.boutique-footer-content .footer-widgets::after {
    display: none !important;
    content: none !important;
}

/* ==============================================================
   Main Navigation Typography & Layout Overrides
   ============================================================== */

/* Reset navigation backgrounds and borders */
.site-header .header-row-bottom,
.main-navigation,
.primary-navigation,
.main-navigation ul.menu,
.main-navigation ul.nav-menu {
    background-color: transparent !important;
}

/* Make the main menu a flex container to space items out (like target design) */
.main-navigation ul.menu,
.main-navigation ul.nav-menu {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Top-level Navigation Links Typography */
.main-navigation ul.menu > li > a,
.main-navigation ul.nav-menu > li > a {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    text-transform: none !important; /* Removes Storefront's uppercase */
    color: #333 !important;
    padding: 15px 0 !important; /* Matches target design height */
    display: flex !important;
    align-items: center !important;
    gap: 5px !important;
}

.main-navigation ul.menu > li > a:hover,
.main-navigation ul.nav-menu > li > a:hover {
    color: #000 !important;
}

/* Remove Boutique's default active item arrow indicator */
.main-navigation ul.menu li.current-menu-item > a::before,
.main-navigation ul.nav-menu li.current-menu-item > a::before {
    display: none !important;
}

/* Add dropdown chevrons to items with sub-menus (requires FontAwesome to be loaded) */
.main-navigation ul.menu > li.menu-item-has-children > a::after {
    content: "\f078"; /* FontAwesome chevron-down */
    font-family: 'Font Awesome 5 Free', 'FontAwesome', sans-serif !important;
    font-weight: 900 !important;
    font-size: 10px !important;
    color: #888 !important;
    margin-left: 5px !important;
}

/* Sub-menu (Dropdown) Typography */
.main-navigation ul.menu > li > ul.sub-menu {
    background-color: #fff !important;
    border: 1px solid #eee !important;
    box-shadow: 0 5px 15px rgba(0,0,0,0.05) !important;
    padding: 10px 0 !important;
}

.main-navigation ul.menu > li > ul.sub-menu > li > a {
    font-size: 14px !important;
    font-weight: 400 !important;
    color: #555 !important;
    text-transform: none !important;
    padding: 8px 20px !important;
    display: block !important;
}

.main-navigation ul.menu > li > ul.sub-menu > li > a:hover {
    background-color: #f9f9f9 !important;
    color: #222 !important;
}

/* ==============================================================
   Force Full Width for Main Navigation Container
   ============================================================== */

/* Remove default Storefront widths, margins, and floats from the nav */
#site-navigation.main-navigation,
.header-bottom-inner .main-navigation,
.main-navigation .primary-navigation {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    float: none !important;
    display: block !important;
}

/* Ensure the flex container itself takes the full width available */
.main-navigation ul.menu,
.main-navigation ul.nav-menu {
    width: 100% !important;
}

/* ==============================================================
   Top Bar Styles
   ============================================================== */

.top-bar {
    background-color: #f9f9f9 !important;
    font-size: 12px !important;
    padding: 8px 0 !important;
    border-bottom: 1px solid #eee !important;
    color: #555 !important;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
}

.top-bar .container {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    max-width: 1200px !important; /* Matches the previous layout redesign max-width */
    margin: 0 auto !important;
    padding: 0 2em !important;
}

.top-bar-left {
    display: flex !important;
    gap: 20px !important;
    align-items: center !important;
}

.top-bar-left span {
    display: flex !important;
    align-items: center !important;
}

.top-bar-left i {
    color: #4CAF50 !important; /* Green checkmarks */
    margin-right: 5px !important;
}

.top-bar-right {
    display: flex !important;
    gap: 20px !important;
    align-items: center !important;
}

.top-bar-right a {
    color: #555 !important;
    text-decoration: none !important;
    font-weight: 400 !important;
    box-shadow: none !important; /* Removes default theme underlines */
}

.top-bar-right a:hover {
    color: #000 !important;
}

.top-bar-right strong {
    font-weight: 700 !important;
    color: #333 !important;
}

.top-bar-right .rating-stars {
    color: #FFC107 !important; /* Gold stars */
    margin-left: 5px !important;
    display: inline-block !important;
}

/* Responsive Top Bar */
@media screen and (max-width: 900px) {
    .top-bar-left {
        gap: 10px !important;
    }
}

@media screen and (max-width: 768px) {
    .top-bar .container {
        flex-direction: column !important;
        gap: 10px !important;
        text-align: center !important;
        padding: 10px 1em !important;
    }

    .top-bar-left,
    .top-bar-right {
        flex-direction: column !important;
        gap: 8px !important;
        align-items: center !important;
    }
}

/* ==============================================================
   Elegant Hero Section (Boxed Layout)
   ============================================================== */

.elegant-hero {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    position: relative;
    width: 100%;

    aspect-ratio: 2.3 / 1;
    min-height: 380px;
    max-height: 550px;

    display: flex;
    align-items: center;
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 40px;
}

/* Subtle dark gradient overlay to ensure white text is always readable */
.elegant-hero::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: linear-gradient(to right, rgba(0,0,0,0.5) 0%, rgba(0,0,0,0.15) 50%, rgba(0,0,0,0) 100%);
    z-index: 1;
}

/* Hero Text Container */
.elegant-hero-text {
    position: relative;
    z-index: 2;
    max-width: 550px;
    padding-left: 60px; /* Keeps text away from the left edge of the image */
}

.elegant-hero-text .hero-subtitle {
    display: block !important;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: #f0f0f0 !important;
    margin-bottom: 20px !important;
}

.elegant-hero-text .hero-title {
    font-family: 'Playfair Display', serif !important;
    font-size: 56px !important;
    line-height: 1.1 !important;
    font-weight: 400 !important;
    color: #ffffff !important;
    margin-bottom: 20px !important;
    border-bottom: none !important; /* Overrides Storefront default h1 border */
    padding-bottom: 0 !important;
}

.elegant-hero-text .hero-desc {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
    font-size: 16px !important;
    line-height: 1.6 !important;
    color: #f0f0f0 !important;
    margin-bottom: 40px !important;
}

.elegant-hero-text .hero-btn {
    display: inline-block !important;
    background-color: #ffffff !important;
    color: #222222 !important;
    padding: 16px 32px !important;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    text-decoration: none !important;
    border-radius: 2px !important;
    transition: all 0.3s ease !important;
    box-shadow: none !important; /* Overrides Storefront default button shadow */
}

.elegant-hero-text .hero-btn:hover {
    background-color: #eeeeee !important;
    color: #000000 !important;
}

/* Mobile Responsiveness */
@media screen and (max-width: 768px) {
    .elegant-hero {
        aspect-ratio: auto; /* Remove strict wide ratio on mobile */
        height: auto;
        min-height: 400px;
        padding: 40px 0; /* Add padding so it wraps the text nicely */
        margin-bottom: 30px;
    }

    .elegant-hero::before {
        background: rgba(0,0,0,0.4);
    }

    .elegant-hero-text {
        padding-left: 30px;
        padding-right: 30px;
    }

    .elegant-hero-text .hero-title {
        font-size: 38px !important;
    }

    .elegant-hero-text .hero-desc {
        font-size: 15px !important;
        margin-bottom: 30px !important;
    }
}

@media screen and (max-width: 480px) {
    .elegant-hero-text {
        padding-left: 20px;
        padding-right: 20px;
    }

    .elegant-hero-text .hero-title {
        font-size: 32px !important;
    }
}