/*
Pure Roads — EasyOrders Brand Enhancement
Version: 1.0
Purpose: Premium organic storefront styling for Default, Sphinx, Luxify, and Fasty themes.
Safe scope: Visual styling only. No cart, payment, order, or checkout logic is changed.
*/

/* =========================
   1. Brand system
   ========================= */
:root {
  --pr-green-950: #102e27;
  --pr-green-900: #173c32;
  --pr-green-800: #245443;
  --pr-green-700: #326b55;
  --pr-cream-50: #fffdf8;
  --pr-cream-100: #f8f3e8;
  --pr-cream-200: #eee5d4;
  --pr-gold-500: #b28a4a;
  --pr-text: #20352d;
  --pr-muted: #64746d;
  --pr-white: #ffffff;
  --pr-border: rgba(23, 60, 50, 0.13);
  --pr-shadow-sm: 0 8px 24px rgba(16, 46, 39, 0.08);
  --pr-shadow-md: 0 18px 50px rgba(16, 46, 39, 0.13);
  --pr-radius-sm: 12px;
  --pr-radius-md: 18px;
  --pr-radius-lg: 26px;
  --pr-transition: 180ms ease;

  /* EasyOrders palette fallbacks */
  --hd-bg: var(--pr-cream-50);
  --hd-text: var(--pr-green-950);
  --ann-bg: var(--pr-green-900);
  --ann-text: var(--pr-white);
  --ft-bg: var(--pr-green-950);
  --ft-text: var(--pr-cream-100);
  --buy-btn-bg: var(--pr-green-800);
  --buy-btn-text: var(--pr-white);
  --buy-btn-border: var(--pr-green-800);
  --crt-btn-bg: var(--pr-cream-100);
  --crt-btn-text: var(--pr-green-950);
  --crt-btn-border: var(--pr-green-800);
  --product-name-text: var(--pr-green-950);
  --product-price-text: var(--pr-green-800);
  --product-sale-price-text: #9a4a35;
  --body-bg: var(--pr-cream-50);
  --body-text: var(--pr-text);
  --input-border: rgba(23, 60, 50, 0.24);
  --input-bg: var(--pr-white);
  --input-text: var(--pr-text);
  --checkout-form-bg: var(--pr-white);
  --checkout-heading-text: var(--pr-green-950);
}

/* =========================
   2. Global foundation
   ========================= */
html {
  scroll-behavior: smooth;
  background: var(--pr-cream-50);
}

body {
  margin: 0;
  background:
    radial-gradient(circle at 8% 0%, rgba(178, 138, 74, 0.08), transparent 28rem),
    var(--pr-cream-50);
  color: var(--pr-text);
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

img {
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

::selection {
  background: rgba(50, 107, 85, 0.2);
  color: var(--pr-green-950);
}

.container_class {
  width: min(1180px, calc(100% - 32px));
  margin-inline: auto;
}

h1, h2, h3,
.home_section_top_title,
.category_section_header_title,
.product_name {
  color: var(--pr-green-950);
  letter-spacing: -0.02em;
}

:focus-visible {
  outline: 3px solid rgba(178, 138, 74, 0.65);
  outline-offset: 3px;
  border-radius: 8px;
}

/* =========================
   3. Header and navigation
   ========================= */
.default_header,
.sphinx_header,
.luxify_header,
.fasty_header {
  position: sticky;
  top: 0;
  z-index: 999;
  background: rgba(255, 253, 248, 0.94) !important;
  color: var(--pr-green-950) !important;
  border-bottom: 1px solid var(--pr-border);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  transition: box-shadow var(--pr-transition), background var(--pr-transition);
}

.default_header.pr-header-scrolled,
.sphinx_header.pr-header-scrolled,
.luxify_header.pr-header-scrolled,
.fasty_header.pr-header-scrolled {
  box-shadow: var(--pr-shadow-sm);
}

.default_header_container,
.sphinx_header_container,
.luxify_header_container,
.fasty_header_container {
  min-height: 74px;
}

.default_header_logo,
.sphinx_header_logo,
.luxify_header_logo,
.fasty_header_logo {
  max-height: 58px;
  width: auto;
  object-fit: contain;
}

.default_header_top_text,
.sphinx_header_top_text,
.luxify_top_header,
.fasty_header_top_text {
  background: var(--pr-green-900) !important;
  color: var(--pr-white) !important;
  font-size: 0.86rem;
  letter-spacing: 0.02em;
}

/* =========================
   4. Hero, banners, sections
   ========================= */
.home_slider_container,
.home_banner,
.home_slider_card {
  overflow: hidden;
  border-radius: var(--pr-radius-lg);
}

.home_slider_slide,
.home_slider_card,
.home_banner {
  box-shadow: var(--pr-shadow-sm);
}

.home_slider_card img,
.home_slider_slide img,
.home_banner_img {
  width: 100%;
  display: block;
  object-fit: cover;
}

.home_section_top_container,
.category_section_header {
  margin-block: 44px 22px;
}

.home_section_top_title,
.category_section_header_title {
  font-size: clamp(1.45rem, 2vw, 2.15rem);
  font-weight: 750;
}

.home_section_top_title::after,
.category_section_header_title::after {
  content: "";
  display: block;
  width: 56px;
  height: 3px;
  margin-top: 10px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--pr-green-700), var(--pr-gold-500));
}

.swiper-pagination-bullet {
  background: var(--pr-green-800) !important;
  opacity: 0.32;
}

.swiper-pagination-bullet-active {
  opacity: 1;
  transform: scale(1.18);
}

.slider_button {
  background: rgba(255, 253, 248, 0.92) !important;
  color: var(--pr-green-950) !important;
  border: 1px solid var(--pr-border) !important;
  box-shadow: var(--pr-shadow-sm);
}

/* =========================
   5. Category cards
   ========================= */
.default_category_card,
.luxify_category_card {
  overflow: hidden;
  background: var(--pr-white);
  border: 1px solid var(--pr-border);
  border-radius: var(--pr-radius-md);
  box-shadow: 0 7px 24px rgba(16, 46, 39, 0.06);
  transition: transform var(--pr-transition), box-shadow var(--pr-transition);
}

.default_category_card:hover,
.luxify_category_card:hover {
  transform: translateY(-4px);
  box-shadow: var(--pr-shadow-md);
}

.default_category_card_img,
.luxify_category_card_img {
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

.default_category_card_name,
.luxify_category_card_name {
  padding: 12px 14px;
  color: var(--pr-green-950);
  font-weight: 700;
}

/* =========================
   6. Product cards
   ========================= */
.default_product_featured_card,
.default_product_list_card,
.home_products_grid_card,
.products_grid_card,
.category_products_grid_card,
.luxify_product_featured_card,
.luxify_product_featured_category_card,
.home_products_carousel_card,
.fasty_product_card {
  overflow: hidden;
  background: rgba(255, 255, 255, 0.94) !important;
  border: 1px solid var(--pr-border) !important;
  border-radius: var(--pr-radius-md) !important;
  box-shadow: 0 8px 26px rgba(16, 46, 39, 0.065);
  transition:
    transform var(--pr-transition),
    box-shadow var(--pr-transition),
    border-color var(--pr-transition);
}

.default_product_featured_card:hover,
.default_product_list_card:hover,
.home_products_grid_card:hover,
.products_grid_card:hover,
.category_products_grid_card:hover,
.luxify_product_featured_card:hover,
.luxify_product_featured_category_card:hover,
.home_products_carousel_card:hover,
.fasty_product_card:hover {
  transform: translateY(-5px);
  border-color: rgba(50, 107, 85, 0.26) !important;
  box-shadow: var(--pr-shadow-md);
}

.default_product_featured_card_img,
.fasty_product_card_img,
.luxify_product_featured_card_img,
.home_products_grid_card img,
.products_grid_card img,
.category_products_grid_card img {
  width: 100%;
  aspect-ratio: 1 / 1;
  display: block;
  object-fit: cover;
  background: var(--pr-cream-100);
  transition: transform 350ms ease;
}

.default_product_featured_card:hover img,
.default_product_list_card:hover img,
.home_products_grid_card:hover img,
.products_grid_card:hover img,
.category_products_grid_card:hover img,
.luxify_product_featured_card:hover img,
.home_products_carousel_card:hover img,
.fasty_product_card:hover img {
  transform: scale(1.025);
}

.fasty_product_card_name,
.product_name,
.default_product_featured_card h3,
.default_product_list_card h3,
.home_products_grid_card h3,
.products_grid_card h3,
.category_products_grid_card h3 {
  color: var(--pr-green-950) !important;
  font-weight: 750;
}

.fasty_product_card_name {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  min-height: 2.9em;
}

.fasty_product_card_price,
.product_price {
  color: var(--pr-green-800) !important;
  font-weight: 800;
}

/* =========================
   7. Buttons
   ========================= */
.checkout_btn,
.add_to_cart_btn,
.form_checkout_btn,
.fasty_product_card_btn {
  min-height: 46px;
  border: 1px solid var(--pr-green-800) !important;
  border-radius: 999px !important;
  background: var(--pr-green-800) !important;
  color: var(--pr-white) !important;
  font-weight: 750 !important;
  letter-spacing: 0.01em;
  box-shadow: 0 8px 18px rgba(36, 84, 67, 0.18);
  transition:
    transform var(--pr-transition),
    background var(--pr-transition),
    box-shadow var(--pr-transition);
}

.checkout_btn:hover,
.add_to_cart_btn:hover,
.form_checkout_btn:hover,
.fasty_product_card_btn:hover {
  background: var(--pr-green-950) !important;
  transform: translateY(-2px);
  box-shadow: 0 12px 26px rgba(16, 46, 39, 0.22);
}

.checkout_btn:active,
.add_to_cart_btn:active,
.form_checkout_btn:active,
.fasty_product_card_btn:active {
  transform: translateY(0);
}

.quantity_container {
  overflow: hidden;
  border: 1px solid var(--pr-border);
  border-radius: 999px;
  background: var(--pr-white);
}

.quantity_btn {
  min-width: 42px;
  min-height: 42px;
  color: var(--pr-green-950) !important;
  background: var(--pr-cream-100) !important;
}

.fasty_product_card_wishlist_btn,
.product_gallery_wishlist_btn,
.product_gallery_share_btn {
  border: 1px solid var(--pr-border) !important;
  background: rgba(255, 255, 255, 0.92) !important;
  color: var(--pr-green-900) !important;
  border-radius: 50% !important;
}

/* =========================
   8. Product page
   ========================= */
.default_product_img,
.default_product_preview_img,
.sphinx_product_img,
.luxify_product_active_img,
.luxify_product_images_grid_img,
.fasty_product_img {
  border-radius: var(--pr-radius-lg) !important;
  background: var(--pr-cream-100);
  box-shadow: var(--pr-shadow-sm);
}

.product_name {
  font-size: clamp(1.7rem, 3vw, 2.65rem);
  line-height: 1.18;
}

.product_price_container {
  margin-block: 14px 20px;
}

.product_price {
  font-size: clamp(1.35rem, 2vw, 1.8rem);
}

.product_description,
.product_tabs_container {
  color: var(--pr-text);
}

.product_form_checkout,
.checkout_form,
.checkout_order_summary,
.checkout_cart_items_container,
.checkout_buy_now {
  background: rgba(255, 255, 255, 0.96) !important;
  border: 1px solid var(--pr-border) !important;
  border-radius: var(--pr-radius-lg) !important;
  box-shadow: var(--pr-shadow-sm);
}

/* =========================
   9. Forms and checkout
   ========================= */
.global_input,
.global_textarea,
.gov_select {
  min-height: 48px;
  border: 1px solid var(--input-border, rgba(23, 60, 50, 0.24)) !important;
  border-radius: var(--pr-radius-sm) !important;
  background: var(--input-bg, #fff) !important;
  color: var(--input-text, var(--pr-text)) !important;
  transition: border-color var(--pr-transition), box-shadow var(--pr-transition);
}

.global_textarea {
  min-height: 112px;
}

.global_input:focus,
.global_textarea:focus,
.gov_select:focus {
  border-color: var(--pr-green-700) !important;
  box-shadow: 0 0 0 4px rgba(50, 107, 85, 0.12) !important;
  outline: none;
}

.payment_card {
  border: 1px solid var(--pr-border) !important;
  border-radius: var(--pr-radius-md) !important;
  background: var(--pr-white) !important;
}

.payment_card:has(input:checked) {
  border-color: var(--pr-green-700) !important;
  box-shadow: 0 0 0 3px rgba(50, 107, 85, 0.11);
}

.total_shipping_container,
.total_price_container {
  color: var(--pr-green-950);
}

.total_price {
  color: var(--pr-green-800) !important;
  font-weight: 850;
}

/* =========================
   10. Reviews and trust blocks
   ========================= */
.reviews_container,
.reviews_summary,
.user_review,
.fake_stock_container,
.fake_visitors_container,
.thanks_container,
.order_invoice_container {
  border: 1px solid var(--pr-border);
  border-radius: var(--pr-radius-md);
  background: var(--pr-white);
}

.user_review {
  padding: 16px;
}

.user_review_name {
  color: var(--pr-green-950);
  font-weight: 750;
}

.fake_stock_progress {
  overflow: hidden;
  border-radius: 999px;
  background: var(--pr-cream-200);
}

/* =========================
   11. Footer
   ========================= */
.default_footer,
.luxify_footer {
  margin-top: 72px;
  padding-block: 46px 24px;
  background:
    radial-gradient(circle at 90% 0%, rgba(178, 138, 74, 0.15), transparent 22rem),
    var(--pr-green-950) !important;
  color: var(--pr-cream-100) !important;
}

.default_footer_link,
.luxify_footer_link,
.footer_store_info {
  color: var(--pr-cream-100) !important;
}

.default_footer_link:hover,
.luxify_footer_link:hover {
  color: var(--pr-white) !important;
  text-decoration: underline;
}

.default_footer_social_link,
.luxify_footer_social_link {
  display: inline-grid;
  place-items: center;
  min-width: 42px;
  min-height: 42px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 50%;
  transition: background var(--pr-transition), transform var(--pr-transition);
}

.default_footer_social_link:hover,
.luxify_footer_social_link:hover {
  background: rgba(255, 255, 255, 0.1);
  transform: translateY(-2px);
}

/* =========================
   12. Optional JS enhancements
   ========================= */
#pr-back-to-top {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 1000;
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 50%;
  background: var(--pr-green-900);
  color: var(--pr-white);
  box-shadow: var(--pr-shadow-md);
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition:
    opacity var(--pr-transition),
    visibility var(--pr-transition),
    transform var(--pr-transition),
    background var(--pr-transition);
}

#pr-back-to-top.pr-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

#pr-back-to-top:hover {
  background: var(--pr-green-700);
}

.pr-enhanced .pr-reveal {
  opacity: 0;
  transform: translateY(14px);
}

.pr-enhanced .pr-reveal.pr-visible {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 460ms ease, transform 460ms ease;
}

/* =========================
   13. Mobile refinement
   ========================= */
@media (max-width: 760px) {
  .container_class {
    width: min(100% - 22px, 1180px);
  }

  .default_header_container,
  .sphinx_header_container,
  .luxify_header_container,
  .fasty_header_container {
    min-height: 64px;
  }

  .default_header_logo,
  .sphinx_header_logo,
  .luxify_header_logo,
  .fasty_header_logo {
    max-height: 48px;
  }

  .home_slider_container,
  .home_slider_card,
  .home_banner {
    border-radius: var(--pr-radius-md);
  }

  .home_section_top_container,
  .category_section_header {
    margin-block: 32px 16px;
  }

  .default_product_featured_card,
  .default_product_list_card,
  .home_products_grid_card,
  .products_grid_card,
  .category_products_grid_card,
  .luxify_product_featured_card,
  .home_products_carousel_card,
  .fasty_product_card {
    border-radius: 15px !important;
  }

  .product_form_checkout,
  .checkout_form,
  .checkout_order_summary,
  .checkout_cart_items_container,
  .checkout_buy_now {
    border-radius: var(--pr-radius-md) !important;
  }

  .checkout_btn,
  .add_to_cart_btn,
  .form_checkout_btn {
    width: 100%;
  }

  .default_footer,
  .luxify_footer {
    margin-top: 52px;
  }
}

/* =========================
   14. Motion accessibility
   ========================= */
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  .pr-enhanced .pr-reveal {
    opacity: 1;
    transform: none;
  }
}


/* =========================================================
   PURE ROADS — HIGH-CONTRAST PATCH V2
   Added after the original theme to improve visual separation,
   navigation clarity, button contrast, inputs, cards, and pricing.
   ========================================================= */

:root {
  /* Stronger, cleaner contrast palette */
  --pr-green-950: #092C25;
  --pr-green-900: #123F34;
  --pr-green-800: #175845;
  --pr-green-700: #216B54;

  --pr-cream-50: #FFFCF4;
  --pr-cream-100: #F5EEDC;
  --pr-cream-200: #E8DCC2;

  --pr-gold-500: #8A672A;
  --pr-text: #172B24;
  --pr-muted: #4F625A;
  --pr-border: rgba(9, 44, 37, 0.22);

  --pr-shadow-sm: 0 8px 24px rgba(9, 44, 37, 0.11);
  --pr-shadow-md: 0 18px 48px rgba(9, 44, 37, 0.17);

  /* EasyOrders variables */
  --hd-bg: #FFFCF4;
  --hd-text: #092C25;
  --ann-bg: #092C25;
  --ann-text: #FFFFFF;

  --ft-bg: #092C25;
  --ft-text: #FFFFFF;

  --buy-btn-bg: #123F34;
  --buy-btn-text: #FFFFFF;
  --buy-btn-border: #123F34;

  --crt-btn-bg: #FFFFFF;
  --crt-btn-text: #092C25;
  --crt-btn-border: #123F34;

  --product-name-text: #092C25;
  --product-price-text: #123F34;
  --product-sale-price-text: #873C2D;

  --body-bg: #FFFCF4;
  --body-text: #172B24;

  --input-border: rgba(9, 44, 37, 0.42);
  --input-bg: #FFFFFF;
  --input-text: #172B24;

  --checkout-form-bg: #FFFFFF;
  --checkout-heading-text: #092C25;
}

/* Stronger page/background separation */
html,
body {
  background-color: var(--pr-cream-50) !important;
  color: var(--pr-text) !important;
}

body {
  background:
    linear-gradient(rgba(255, 252, 244, 0.94), rgba(255, 252, 244, 0.94)),
    radial-gradient(circle at 5% 0%, rgba(138, 103, 42, 0.16), transparent 28rem) !important;
}

/* Readable default text */
p,
li,
span,
label,
small,
.product_description,
.product_tabs_container,
.checkout_cart_item_name,
.checkout_cart_item_quantity,
.footer_store_info {
  color: inherit;
}

.product_description,
.product_tabs_container,
.checkout_cart_item_quantity,
.form_group label,
.global_label {
  color: var(--pr-text) !important;
}

.product_description p,
.product_description li,
.product_tabs_container p,
.product_tabs_container li {
  color: var(--pr-text) !important;
}

/* Header, menu, icons, search, cart */
.default_header,
.sphinx_header,
.luxify_header,
.fasty_header {
  background: rgba(255, 252, 244, 0.98) !important;
  color: var(--pr-green-950) !important;
  border-bottom: 2px solid rgba(9, 44, 37, 0.15) !important;
  box-shadow: 0 5px 20px rgba(9, 44, 37, 0.08);
}

.default_header a,
.sphinx_header a,
.luxify_header a,
.fasty_header a,
.default_header button,
.sphinx_header button,
.luxify_header button,
.fasty_header button {
  color: var(--pr-green-950) !important;
}

.default_header svg,
.sphinx_header svg,
.luxify_header svg,
.fasty_header svg,
.default_header svg *,
.sphinx_header svg *,
.luxify_header svg *,
.fasty_header svg * {
  color: var(--pr-green-950) !important;
  fill: currentColor;
  stroke: currentColor;
}

.default_header_top_text,
.sphinx_header_top_text,
.luxify_top_header,
.fasty_header_top_text {
  background: var(--pr-green-950) !important;
  color: #FFFFFF !important;
}

.default_header_top_text *,
.sphinx_header_top_text *,
.luxify_top_header *,
.fasty_header_top_text * {
  color: #FFFFFF !important;
}

/* Drawers, menus, dropdowns */
.menu_container,
.mobile_menu,
.drawer,
.side_menu,
.search_container,
.search_results_container,
.cart_drawer,
.cart_container {
  background: #FFFFFF !important;
  color: var(--pr-green-950) !important;
}

.menu_container a,
.mobile_menu a,
.drawer a,
.side_menu a,
.search_results_container a,
.cart_drawer a {
  color: var(--pr-green-950) !important;
}

/* Headings */
h1, h2, h3, h4, h5, h6,
.home_section_top_title,
.category_section_header_title,
.product_name,
.checkout_heading,
.checkout_title {
  color: var(--pr-green-950) !important;
}

.home_section_top_title::after,
.category_section_header_title::after {
  background: linear-gradient(
    90deg,
    var(--pr-green-800) 0%,
    var(--pr-gold-500) 100%
  ) !important;
}

/* Cards: stronger separation from cream background */
.default_category_card,
.luxify_category_card,
.default_product_featured_card,
.default_product_list_card,
.home_products_grid_card,
.products_grid_card,
.category_products_grid_card,
.luxify_product_featured_card,
.luxify_product_featured_category_card,
.home_products_carousel_card,
.fasty_product_card,
.user_review,
.reviews_container,
.reviews_summary,
.fake_stock_container,
.fake_visitors_container {
  background: #FFFFFF !important;
  border: 1px solid rgba(9, 44, 37, 0.20) !important;
  box-shadow: 0 9px 28px rgba(9, 44, 37, 0.10) !important;
}

.default_category_card:hover,
.luxify_category_card:hover,
.default_product_featured_card:hover,
.default_product_list_card:hover,
.home_products_grid_card:hover,
.products_grid_card:hover,
.category_products_grid_card:hover,
.luxify_product_featured_card:hover,
.luxify_product_featured_category_card:hover,
.home_products_carousel_card:hover,
.fasty_product_card:hover {
  border-color: rgba(9, 44, 37, 0.42) !important;
  box-shadow: 0 18px 42px rgba(9, 44, 37, 0.18) !important;
}

/* Product names and prices */
.product_name,
.fasty_product_card_name,
.default_product_featured_card h3,
.default_product_list_card h3,
.home_products_grid_card h3,
.products_grid_card h3,
.category_products_grid_card h3,
.default_category_card_name,
.luxify_category_card_name {
  color: var(--pr-green-950) !important;
}

.product_price,
.fasty_product_card_price,
.total_price {
  color: var(--pr-green-900) !important;
  font-weight: 850 !important;
}

.product_old_price,
.old_price,
.compare_at_price {
  color: #66756F !important;
  text-decoration-color: #66756F !important;
}

.product_sale_price,
.sale_price,
.discount_price {
  color: #873C2D !important;
}

/* Primary buttons */
.checkout_btn,
.add_to_cart_btn,
.form_checkout_btn,
.fasty_product_card_btn,
button[type="submit"] {
  background: var(--pr-green-900) !important;
  color: #FFFFFF !important;
  border-color: var(--pr-green-900) !important;
  box-shadow: 0 9px 22px rgba(9, 44, 37, 0.22) !important;
}

.checkout_btn *,
.add_to_cart_btn *,
.form_checkout_btn *,
.fasty_product_card_btn *,
button[type="submit"] * {
  color: #FFFFFF !important;
}

.checkout_btn:hover,
.add_to_cart_btn:hover,
.form_checkout_btn:hover,
.fasty_product_card_btn:hover,
button[type="submit"]:hover {
  background: var(--pr-green-950) !important;
  border-color: var(--pr-green-950) !important;
}

/* Secondary/cart buttons */
.cart_btn,
.continue_shopping_btn,
.view_cart_btn,
.crt_btn,
button.secondary {
  background: #FFFFFF !important;
  color: var(--pr-green-950) !important;
  border: 2px solid var(--pr-green-900) !important;
}

.cart_btn:hover,
.continue_shopping_btn:hover,
.view_cart_btn:hover,
.crt_btn:hover,
button.secondary:hover {
  background: var(--pr-cream-100) !important;
}

/* Inputs and checkout */
.global_input,
.global_textarea,
.gov_select,
input,
textarea,
select {
  background: #FFFFFF !important;
  color: var(--pr-text) !important;
  border-color: rgba(9, 44, 37, 0.38) !important;
}

.global_input::placeholder,
.global_textarea::placeholder,
input::placeholder,
textarea::placeholder {
  color: #67766F !important;
  opacity: 1;
}

.global_input:focus,
.global_textarea:focus,
.gov_select:focus,
input:focus,
textarea:focus,
select:focus {
  border-color: var(--pr-green-800) !important;
  box-shadow: 0 0 0 4px rgba(23, 88, 69, 0.16) !important;
}

.product_form_checkout,
.checkout_form,
.checkout_order_summary,
.checkout_cart_items_container,
.checkout_buy_now,
.payment_card,
.order_invoice_container,
.thanks_container {
  background: #FFFFFF !important;
  color: var(--pr-text) !important;
  border: 1px solid rgba(9, 44, 37, 0.22) !important;
  box-shadow: 0 10px 30px rgba(9, 44, 37, 0.10) !important;
}

.payment_card:has(input:checked) {
  border: 2px solid var(--pr-green-800) !important;
  background: #F7FBF8 !important;
}

/* Quantity control */
.quantity_container {
  background: #FFFFFF !important;
  border: 1px solid rgba(9, 44, 37, 0.30) !important;
}

.quantity_btn {
  background: var(--pr-cream-100) !important;
  color: var(--pr-green-950) !important;
}

.quantity_btn:hover {
  background: var(--pr-cream-200) !important;
}

/* Badges */
.sale_badge,
.discount_badge,
.product_badge,
.stock_badge {
  background: var(--pr-green-950) !important;
  color: #FFFFFF !important;
  border: 1px solid rgba(255, 255, 255, 0.25) !important;
}

/* Slider controls */
.slider_button {
  background: #FFFFFF !important;
  color: var(--pr-green-950) !important;
  border: 1px solid rgba(9, 44, 37, 0.30) !important;
}

.slider_button svg,
.slider_button svg * {
  color: var(--pr-green-950) !important;
  fill: currentColor;
  stroke: currentColor;
}

/* Footer */
.default_footer,
.luxify_footer {
  background:
    radial-gradient(circle at 90% 0%, rgba(138, 103, 42, 0.22), transparent 22rem),
    var(--pr-green-950) !important;
  color: #FFFFFF !important;
  border-top: 4px solid var(--pr-gold-500);
}

.default_footer *,
.luxify_footer * {
  color: #FFFFFF;
}

.default_footer a,
.luxify_footer a,
.default_footer_link,
.luxify_footer_link {
  color: #FFFFFF !important;
}

.default_footer a:hover,
.luxify_footer a:hover {
  color: #F5EEDC !important;
}

/* Accessibility and visibility */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 3px solid #A77C31 !important;
  outline-offset: 3px;
}

/* Mobile: stronger contrast and larger tap targets */
@media (max-width: 760px) {
  .default_header,
  .sphinx_header,
  .luxify_header,
  .fasty_header {
    background: #FFFCF4 !important;
  }

  .checkout_btn,
  .add_to_cart_btn,
  .form_checkout_btn,
  .fasty_product_card_btn {
    min-height: 50px;
    font-size: 1rem;
  }

  .global_input,
  .global_textarea,
  .gov_select,
  input,
  textarea,
  select {
    font-size: 16px !important;
  }

  .default_product_featured_card,
  .default_product_list_card,
  .home_products_grid_card,
  .products_grid_card,
  .category_products_grid_card,
  .luxify_product_featured_card,
  .home_products_carousel_card,
  .fasty_product_card {
    border-color: rgba(9, 44, 37, 0.24) !important;
  }
}


/* =========================================================
   PURE ROADS — PROFESSIONAL HEADER & BUTTON SYSTEM V3
   Replaces the oversized boxed header and fixes icon rendering.
   ========================================================= */

:root {
  --pr-header-green: #0A332A;
  --pr-header-green-hover: #061F1A;
  --pr-header-cream: #FFFCF4;
  --pr-header-soft: #F4EDDE;
  --pr-header-gold: #9A742F;
  --pr-header-line: rgba(10, 51, 42, 0.16);
}

/* Announcement bar: compact and premium */
.default_header_top_text,
.sphinx_header_top_text,
.luxify_top_header,
.fasty_header_top_text {
  min-height: 38px !important;
  padding: 9px 16px !important;
  background: var(--pr-header-green) !important;
  color: #FFFFFF !important;
  border: 0 !important;
  font-size: 12.5px !important;
  font-weight: 650 !important;
  line-height: 1.35 !important;
  letter-spacing: 0.28px !important;
}

/* Main header shell */
.default_header,
.sphinx_header,
.luxify_header,
.fasty_header {
  background: rgba(255, 252, 244, 0.98) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--pr-header-line) !important;
  box-shadow: 0 5px 18px rgba(10, 51, 42, 0.08) !important;
}

/* Remove the large inner white rectangle */
.default_header_container,
.sphinx_header_container,
.luxify_header_container,
.fasty_header_container {
  width: min(1180px, calc(100% - 32px)) !important;
  max-width: 1180px !important;
  min-height: 82px !important;
  margin-inline: auto !important;
  padding: 10px 18px !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Logo proportions */
.default_header_logo,
.sphinx_header_logo,
.luxify_header_logo,
.fasty_header_logo {
  width: auto !important;
  max-width: 138px !important;
  max-height: 58px !important;
  object-fit: contain !important;
}

/* Navigation */
.default_header nav a,
.sphinx_header nav a,
.luxify_header nav a,
.fasty_header nav a,
.default_header_menu a,
.sphinx_header_menu a,
.luxify_header_menu a,
.fasty_header_menu a {
  color: var(--pr-header-green) !important;
  padding: 8px 12px !important;
  border-radius: 999px !important;
  font-size: 13.5px !important;
  font-weight: 650 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  transition:
    color 180ms ease,
    background 180ms ease;
}

.default_header nav a:hover,
.sphinx_header nav a:hover,
.luxify_header nav a:hover,
.fasty_header nav a:hover,
.default_header_menu a:hover,
.sphinx_header_menu a:hover,
.luxify_header_menu a:hover,
.fasty_header_menu a:hover {
  background: var(--pr-header-soft) !important;
  color: var(--pr-header-green-hover) !important;
}

/* Header action controls */
.default_header button,
.sphinx_header button,
.luxify_header button,
.fasty_header button,
.default_header [role="button"],
.sphinx_header [role="button"],
.luxify_header [role="button"],
.fasty_header [role="button"] {
  min-width: 40px;
  min-height: 40px;
  padding: 0 11px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  background: #FFFFFF !important;
  color: var(--pr-header-green) !important;
  border: 1px solid rgba(10, 51, 42, 0.20) !important;
  border-radius: 999px !important;
  box-shadow: 0 3px 10px rgba(10, 51, 42, 0.06) !important;
  transition:
    color 180ms ease,
    background 180ms ease,
    border-color 180ms ease,
    transform 180ms ease,
    box-shadow 180ms ease;
}

.default_header button:hover,
.sphinx_header button:hover,
.luxify_header button:hover,
.fasty_header button:hover,
.default_header [role="button"]:hover,
.sphinx_header [role="button"]:hover,
.luxify_header [role="button"]:hover,
.fasty_header [role="button"]:hover {
  background: var(--pr-header-soft) !important;
  border-color: rgba(10, 51, 42, 0.34) !important;
  color: var(--pr-header-green-hover) !important;
  box-shadow: 0 7px 18px rgba(10, 51, 42, 0.10) !important;
  transform: translateY(-1px);
}

/* Restore SVG icons without forcing every shape to become a filled square */
.default_header svg,
.sphinx_header svg,
.luxify_header svg,
.fasty_header svg {
  width: 20px;
  height: 20px;
  color: var(--pr-header-green) !important;
  overflow: visible;
}

.default_header svg [fill="none"],
.sphinx_header svg [fill="none"],
.luxify_header svg [fill="none"],
.fasty_header svg [fill="none"] {
  fill: none !important;
}

.default_header svg [stroke],
.sphinx_header svg [stroke],
.luxify_header svg [stroke],
.fasty_header svg [stroke] {
  stroke: currentColor !important;
}

/* Cart badge */
.default_header [class*="cart"] sup,
.default_header [class*="cart"] [class*="badge"],
.sphinx_header [class*="cart"] sup,
.sphinx_header [class*="cart"] [class*="badge"],
.luxify_header [class*="cart"] sup,
.luxify_header [class*="cart"] [class*="badge"],
.fasty_header [class*="cart"] sup,
.fasty_header [class*="cart"] [class*="badge"] {
  min-width: 19px !important;
  height: 19px !important;
  display: inline-grid !important;
  place-items: center !important;
  padding: 0 5px !important;
  background: var(--pr-header-gold) !important;
  color: #FFFFFF !important;
  border: 2px solid var(--pr-header-cream) !important;
  border-radius: 999px !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

/* Trust bar directly under the header */
.pr-trust-bar,
body > div[style*="Naturally Raised"] {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
  background: #F8F2E6 !important;
  border-bottom-color: rgba(10, 51, 42, 0.13) !important;
}

/* Global professional buttons */
.checkout_btn,
.add_to_cart_btn,
.form_checkout_btn,
.fasty_product_card_btn,
button[type="submit"] {
  min-height: 48px !important;
  padding-inline: 23px !important;
  background: var(--pr-header-green) !important;
  color: #FFFFFF !important;
  border: 1px solid var(--pr-header-green) !important;
  border-radius: 999px !important;
  box-shadow: 0 9px 22px rgba(10, 51, 42, 0.19) !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  letter-spacing: 0.1px !important;
}

.checkout_btn:hover,
.add_to_cart_btn:hover,
.form_checkout_btn:hover,
.fasty_product_card_btn:hover,
button[type="submit"]:hover {
  background: var(--pr-header-green-hover) !important;
  border-color: var(--pr-header-green-hover) !important;
  box-shadow: 0 12px 28px rgba(6, 31, 26, 0.24) !important;
}

/* Secondary actions */
.cart_btn,
.continue_shopping_btn,
.view_cart_btn,
.crt_btn,
button.secondary {
  min-height: 46px !important;
  padding-inline: 21px !important;
  background: #FFFFFF !important;
  color: var(--pr-header-green) !important;
  border: 1px solid rgba(10, 51, 42, 0.38) !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  font-weight: 700 !important;
}

.cart_btn:hover,
.continue_shopping_btn:hover,
.view_cart_btn:hover,
.crt_btn:hover,
button.secondary:hover {
  background: var(--pr-header-soft) !important;
  color: var(--pr-header-green-hover) !important;
  border-color: var(--pr-header-green) !important;
}

/* Avoid a visually oversized blank header on desktop */
@media (min-width: 761px) {
  .default_header_container,
  .sphinx_header_container,
  .luxify_header_container,
  .fasty_header_container {
    min-height: 78px !important;
  }
}

/* Mobile */
@media (max-width: 760px) {
  .default_header_container,
  .sphinx_header_container,
  .luxify_header_container,
  .fasty_header_container {
    width: calc(100% - 18px) !important;
    min-height: 66px !important;
    padding: 7px 6px !important;
  }

  .default_header_logo,
  .sphinx_header_logo,
  .luxify_header_logo,
  .fasty_header_logo {
    max-width: 112px !important;
    max-height: 46px !important;
  }

  .default_header button,
  .sphinx_header button,
  .luxify_header button,
  .fasty_header button,
  .default_header [role="button"],
  .sphinx_header [role="button"],
  .luxify_header [role="button"],
  .fasty_header [role="button"] {
    min-width: 38px;
    min-height: 38px;
    padding-inline: 9px !important;
  }
}
