@import url('components.css');
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400&family=Poppins:wght@300;400;500;600&display=swap');

/* ================= GLOBAL THEME ================= */
:root {
   /* Premium Black & Gold Palette */
   --gold: #c9a24d;
   /* Rich Gold (from reference) */
   --gold-light: #e6c87c;
   /* Lighter Gold */
   --gold-dark: #a8832f;
   /* Darker Gold */

   --black: #1e1e1e;
   /* Deep Aesthetic Black */
   --black-soft: #2d2d2d;
   /* Soft Black for hover */

   --white: #ffffff;
   --light-bg: #fafafa;
   --text-gray: #555555;
   --text-color: #1e1e1e;
   /* Main text is now black */

   /* UX Elements */
   --border: 2px solid var(--black);
   /* Standard aesthetic border */
   --shadow: 0 10px 30px rgba(0, 0, 0, 0.05);


   /* Functional Colors */
   --red-accent: #c0392b;
   /* Deep Red for actions */
   --green-accent: #27ae60;
   /* Deep Green */

   /* UX Elements */
   --border: 1px solid rgba(0, 0, 0, 0.08);
   --shadow-light: 0 5px 15px rgba(0, 0, 0, 0.05);
   --shadow-hover: 0 15px 30px rgba(0, 0, 0, 0.1);
   --radius: 50px;
   /* Pill shape radius */
   --radius-card: 15px;
}

* {
   font-family: 'Poppins', sans-serif;
   margin: 0;
   padding: 0;
   box-sizing: border-box;
   outline: none;
   border: none;
   text-decoration: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
   font-family: 'Playfair Display', serif;
   color: var(--black);
   font-weight: 500;
   /* Elegant weight */
}

html {
   font-size: 62.5%;
   /* 1rem = 10px */
   overflow-x: hidden;
   scroll-behavior: smooth;
}

body {
   background-color: var(--light-bg);
   color: var(--text-gray);
}

/* ================= HOME HERO ================= */
.home-bg {
   background-size: cover;
   background-position: center;
}

.home-bg .home {
   display: flex;
   align-items: center;
   min-height: 65vh;
}

.home-bg .home .content {
   width: 100rem;
}

.home-bg .home .content span {
   color: var(--gold);
   font-size: 2.4rem;
   letter-spacing: .15rem;
}

.home-bg .home .content h3 {
   font-size: 6rem;
   text-transform: uppercase;
   margin-top: 1.5rem;
   color: var(--black);
   font-weight: 700;
   line-height: 1.1;
   margin-bottom: 2rem;
}

.home-bg .home .content p {
   font-size: 1.8rem;
   line-height: 1.8;
   color: var(--text-gray);
   margin-bottom: 4rem;
   max-width: 60rem;
}

/* ================= HEADER ================= */
.header {
   background-color: var(--white);
   position: sticky;
   top: 0;
   left: 0;
   right: 0;
   z-index: 1000;
   box-shadow: var(--shadow-light);
}

.header .flex {
   display: flex;
   align-items: center;
   justify-content: space-between;
   padding: 1.5rem 5%;
   max-width: 1400px;
   margin: 0 auto;
}

.header .logo img {
   height: 8rem;
   width: auto;
   object-fit: contain;
   transition: .3s;
}

.header .navbar a {
   margin: 0 1.5rem;
   font-size: 1.6rem;
   color: var(--text-gray);
   text-transform: uppercase;
   letter-spacing: 1px;
   font-weight: 500;
   transition: .3s;
}

.header .navbar a:hover {
   color: var(--gold);
}

.header .login-btn {
   background: linear-gradient(135deg, #d4af37, #a8832f);
   color: #fff !important;
   padding: 1rem 2.5rem;
   border-radius: 50px;
   font-size: 1.5rem;
   font-weight: 500;
   text-transform: uppercase;
   letter-spacing: 1px;
   margin-left: 2rem;
   transition: 0.3s;
   display: inline-flex;
   align-items: center;
   gap: 0.8rem;
}

.header .login-btn:hover {
   background: var(--black) !important;
   color: var(--gold) !important;
   transform: translateY(-2px);
   box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

.header .icons {
   display: flex;
   align-items: center;
}

.header .icons>* {
   font-size: 2.2rem;
   margin-left: 2rem;
   cursor: pointer;
   color: var(--black);
   transition: .3s;
   background: transparent !important;
   /* Override old blocky styles */
   height: auto !important;
   width: auto !important;
   line-height: normal !important;
   padding: 0;
}

.header .icons>*:hover {
   color: var(--gold);
   transform: translateY(-2px);
}

.header .icons span {
   font-size: 1.4rem;
   background: var(--gold);
   color: #fff;
   border-radius: 50%;
   padding: .2rem .6rem;
   position: relative;
   top: -10px;
   left: -5px;
}

#user-btn,
#menu-btn {
   display: none;
   /* Hidden on desktop by default */
}

.header .profile {
   position: absolute;
   top: 120%;
   right: 2rem;
   background-color: var(--white);
   border-radius: var(--radius-card);
   box-shadow: var(--shadow-hover);
   padding: 3rem;
   text-align: center;
   width: 35rem;
   display: none;
   animation: fadeIn .2s linear;
   border: var(--border);
}

.header .profile.active {
   display: block;
}

.header .profile img {
   height: 12rem;
   width: 12rem;
   border-radius: 50%;
   object-fit: cover;
   margin-bottom: 1.5rem;
   border: 3px solid var(--gold);
   padding: .5rem;
   background: var(--white);
}

.header .profile p {
   font-family: 'Playfair Display', serif;
   font-size: 2.2rem;
   color: var(--black);
   margin-bottom: 2rem;
}

.header .profile .option-btn,
.header .profile .delete-btn {
   width: 100%;
   margin-bottom: 1rem;
}

/* ================= FOOTER ================= */
.footer {
   margin-top: 6rem;
   background:
      radial-gradient(circle at 8% 10%, rgba(233, 184, 170, 0.24), transparent 34%),
      radial-gradient(circle at 92% 82%, rgba(194, 125, 106, 0.18), transparent 38%),
      linear-gradient(165deg, #2f2a33 0%, #221e26 100%);
   color: rgba(255, 255, 255, 0.84);
   border-top: 1px solid rgba(233, 184, 170, 0.25);
}

.footer a {
   text-decoration: none;
}

.footer .footer-shell {
   max-width: 1250px;
   margin: 0 auto;
   display: grid;
   grid-template-columns: minmax(240px, 1.15fr) repeat(3, minmax(170px, 1fr));
   gap: 3.2rem;
   padding: 5rem 2rem 3rem;
   align-items: start;
}

.footer .footer-brand h3 {
   margin-top: 1.2rem;
   margin-bottom: 1rem;
   font-size: 2.6rem;
   color: #fff;
}

.footer .footer-brand p {
   font-size: 1.45rem;
   line-height: 1.9;
   color: rgba(255, 255, 255, 0.7);
   max-width: 35rem;
}

.footer-logo-wrap {
   display: inline-grid;
   place-items: center;
   width: 9rem;
   height: 9rem;
   border-radius: 1.4rem;
   background: rgba(255, 255, 255, 0.08);
   border: 1px solid rgba(233, 184, 170, 0.35);
}

.footer-logo {
   width: 7rem;
   height: 7rem;
   object-fit: contain;
}

.footer .footer-col h4 {
   font-family: 'Playfair Display', serif;
   font-size: 2.1rem;
   margin-bottom: 1.4rem;
   color: var(--gold-light);
   letter-spacing: 0.03em;
}

.footer .footer-col a,
.footer .footer-col p {
   display: block;
   font-size: 1.45rem;
   color: rgba(255, 255, 255, 0.78);
   margin: 0.85rem 0;
   transition: 0.25s ease;
   line-height: 1.75;
}

.footer .footer-col a i,
.footer .footer-col p i {
   color: var(--gold-light);
   width: 1.8rem;
   margin-right: 0.8rem;
}

.footer .footer-col a:hover {
   color: #fff;
   transform: translateX(3px);
}

.footer .footer-socials {
   margin-top: 1.6rem;
   display: flex;
   gap: 0.9rem;
}

.footer .footer-socials a {
   display: inline-grid;
   place-items: center;
   width: 3.8rem;
   height: 3.8rem;
   border-radius: 999px;
   color: #fff;
   background: rgba(255, 255, 255, 0.11);
   border: 1px solid rgba(233, 184, 170, 0.38);
}

.footer .footer-socials a i {
   margin-right: 0;
   width: auto;
   line-height: 1;
   color: inherit;
}

.footer .footer-socials a:hover {
   background: var(--gold);
   color: #fff;
   transform: translateY(-2px);
}

.footer .footer-bottom {
   text-align: center;
   padding: 1.8rem 2rem 2.4rem;
   border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.footer .credit {
   margin: 0;
   font-size: 1.4rem;
   color: rgba(255, 255, 255, 0.62);
}

.footer .credit span {
   color: var(--gold-light);
}

@media (max-width: 1100px) {
   .footer .footer-shell {
      grid-template-columns: repeat(2, minmax(220px, 1fr));
      gap: 2.4rem;
   }
}

@media (max-width: 680px) {
   .footer .footer-shell {
      grid-template-columns: 1fr;
      padding: 4rem 1.4rem 2.6rem;
      gap: 1.8rem;
   }

   .footer .footer-brand p {
      max-width: none;
   }

   .footer .footer-col {
      padding-top: 1.1rem;
      border-top: 1px dashed rgba(255, 255, 255, 0.16);
   }
}

/* ===== CONTACT PAGE ===== */

/* ===== CONTACT PAGE - LUXURY SINGLE LAYOUT ===== */

.contact-section {
   padding: 6rem 2rem;
   background: var(--light-bg);
   min-height: 70vh;
   display: flex;
   align-items: center;
   justify-content: center;
}

.contact-container {
   max-width: 600px;
   margin: 0 auto;
   background: #fff;
   padding: 5rem 4rem;
   border-radius: 1.5rem;
   box-shadow: 0 20px 60px rgba(0, 0, 0, 0.1);
   border: 1px solid rgba(0, 0, 0, 0.05);
}

.contact-container h1 {
   font-family: 'Playfair Display', serif;
   font-size: 3.5rem;
   color: var(--black);
   text-align: center;
   margin-bottom: 1rem;
   letter-spacing: 1px;
}

.contact-container p {
   text-align: center;
   color: var(--text-gray);
   font-size: 1.5rem;
   margin-bottom: 3rem;
}

.contact-container form {
   display: flex;
   flex-direction: column;
   gap: 2.5rem;
}

.form-group {
   position: relative;
}

.form-group label {
   font-size: 1.4rem;
   color: var(--text-gray);
   margin-bottom: 0.5rem;
   display: block;
   text-transform: uppercase;
   letter-spacing: 1px;
}

.contact-container input,
.contact-container textarea {
   width: 100%;
   padding: 1.2rem 0;
   font-size: 1.6rem;
   border: none;
   border-bottom: 2px solid #e0e0e0;
   background: transparent;
   transition: 0.3s;
   color: var(--black);
   font-family: 'Poppins', sans-serif;
}

.contact-container textarea {
   height: 120px;
   resize: none;
   padding-top: 1rem;
}

.contact-container input:focus,
.contact-container textarea:focus {
   border-bottom-color: var(--gold);
   outline: none;
}

.contact-container input::placeholder,
.contact-container textarea::placeholder {
   color: #ccc;
}

.contact-container .btn-checkout {
   margin-top: 1rem;
   width: 100%;
   border-radius: 50px;
   padding: 1.4rem 3rem;
   font-weight: 600;
   font-size: 1.6rem;
   text-transform: uppercase;
   letter-spacing: 1px;
}

/* Responsive */
@media(max-width: 768px) {
   .contact-container {
      padding: 4rem 3rem;
   }

   .contact-container h1 {
      font-size: 3rem;
   }
}

/* ===== ABOUT PAGE ===== */

.about-section {
   padding: 6rem 2rem;
}

.about-container {
   max-width: 1200px;
   margin: 0 auto 6rem auto;
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 5rem;
   flex-wrap: wrap;
}

.about-container.reverse {
   flex-direction: row-reverse;
}

.about-image {
   flex: 1 1 45rem;
   text-align: center;
}

.about-image img {
   width: 100%;
   max-width: 400px;
   height: 55vh;
   object-fit: cover;
   object-position: top;
   border-radius: 1rem;
   box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
   transition: 0.4s ease;
   display: block;
   margin: 0 auto;
}

.about-image img:hover {
   transform: scale(1.03);
}

.about-content {
   flex: 1 1 45rem;
}

.about-content h2 {
   font-size: 3.5rem;
   margin-bottom: 1.5rem;
   font-family: 'Playfair Display', serif;
   color: #2c2c2c;
}

.about-content p {
   font-size: 1.7rem;
   line-height: 1.8;
   color: #555;
   margin-bottom: 2.5rem;
}

.about-btn {
   display: inline-block;
   padding: 1.2rem 3rem;
   background: linear-gradient(135deg, #d4af37, #a8832f);
   color: #fff;
   font-size: 1.6rem;
   border-radius: .6rem;
   transition: 0.3s ease;
}

.about-btn:hover {
   transform: translateY(-3px);
   box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
}

@keyframes fadeInUp {
   0% {
      opacity: 0;
      transform: translateY(30px);
   }

   100% {
      opacity: 1;
      transform: translateY(0);
   }
}

.fade-up {
   opacity: 0;
   animation: fadeInUp 0.8s ease-out forwards;
}

.delay-200 {
   animation-delay: 0.2s;
}

.delay-400 {
   animation-delay: 0.4s;
}

/* Responsive */
@media (max-width:768px) {
   .about-container {
      flex-direction: column;
      text-align: center;
   }

   .about-container.reverse {
      flex-direction: column;
   }
}

/* ===== MODERN ORDERS ===== */

.modern-orders {
   padding: 6rem 2rem;
   max-width: 1200px;
   margin: auto;
}

.order-title {
   font-size: 3.5rem;
   margin-bottom: 3rem;
   font-family: 'Playfair Display', serif;
}

.order-card {
   background: #fff;
   padding: 3rem;
   border-radius: 1.2rem;
   border: 2px solid #1e1e1e;
   box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
   margin-bottom: 3rem;
   transition: 0.3s;
}

.order-card:hover {
   transform: translateY(-5px);
}

.order-header {
   display: flex;
   justify-content: space-between;
   align-items: center;
   margin-bottom: 2rem;
}

.order-header h2 {
   font-size: 2.4rem;
}

.order-date {
   font-size: 1.4rem;
   color: #777;
}

.order-status {
   padding: .8rem 1.5rem;
   border-radius: 2rem;
   font-size: 1.4rem;
   font-weight: bold;
   text-transform: capitalize;
}

.order-status.pending {
   background: #ffeaa7;
   color: #d35400;
}

.order-status.completed {
   background: #d4efdf;
   color: #27ae60;
}

.order-status.shipped {
   background: #d6eaf8;
   color: #2980b9;
}

.order-address {
   display: flex;
   justify-content: space-between;
   margin-bottom: 2rem;
   gap: 3rem;
}

.order-address h3 {
   font-size: 1.8rem;
   margin-bottom: 1rem;
}

.order-address p {
   font-size: 1.5rem;
   color: #555;
}

.order-products {
   border-top: 1px solid #eee;
   border-bottom: 1px solid #eee;
   padding: 2rem 0;
   margin-bottom: 2rem;
}

.order-products h3 {
   font-size: 1.8rem;
   margin-bottom: 1rem;
}

.order-total {
   display: flex;
   justify-content: space-between;
   align-items: center;
}

.order-total h3 {
   font-size: 2rem;
}

.order-total span {
   font-size: 2.4rem;
   color: #d4af37;
   font-weight: bold;
}

/* ===== ORDER PAGE TYPOGRAPHY FIX ===== */

.modern-orders {
   font-family: 'Poppins', sans-serif;
}

.order-title {
   font-family: 'Playfair Display', serif;
   font-size: 3.8rem;
   font-weight: 700;
   letter-spacing: 1px;
   color: #2c2c2c;
}

/* Order Header */
.order-header h2 {
   font-size: 2.6rem;
   font-weight: 600;
   font-family: 'Playfair Display', serif;
   color: #1e1e1e;
}

.order-date {
   font-size: 1.4rem;
   color: #888;
   margin-top: .5rem;
}

/* Section Titles */
.order-address h3,
.order-products h3,
.order-total h3 {
   font-size: 2rem;
   font-weight: 600;
   margin-bottom: 1rem;
   color: #333;
}

/* Normal Text */
.order-address p,
.order-products p {
   font-size: 1.6rem;
   line-height: 1.8;
   color: #555;
}

/* Payment Method */
.order-address div:last-child p {
   font-weight: 500;
   color: #444;
}

/* Total Amount Styling */
.order-total span {
   font-size: 3rem;
   font-weight: 700;
   font-family: 'Playfair Display', serif;
   color: #d4af37;
   letter-spacing: 1px;
}

/* Delivered Status */
.order-status {
   font-size: 1.4rem;
   font-weight: 600;
   padding: .6rem 1.5rem;
   border-radius: 20px;
}

.order-total {
   padding-top: 2rem;
   border-top: 2px solid #eee;
}

/* Responsive */
@media(max-width:768px) {
   .order-address {
      flex-direction: column;
   }
}

/* ===============================
   MODERN SHOP PAGE
================================ */

.shop-container {
   display: flex;
   gap: 40px;
   padding: 50px;
   background: #f9f9f9;
}

/* Sidebar */
.shop-sidebar {
   width: 250px;
   background: #fff;
   padding: 25px;
   border-radius: 15px;
   box-shadow: 0 5px 20px rgba(0, 0, 0, .05);
}

.shop-sidebar h3 {
   font-size: 20px;
   margin-bottom: 20px;
}

.filter-box {
   margin-bottom: 30px;
}

.filter-box h4 {
   font-size: 16px;
   margin-bottom: 10px;
}

.filter-box ul {
   list-style: none;
   padding: 0;
   font-size: 12px;
}

.filter-box ul li {
   margin-bottom: 10px;
}

.filter-box ul li a {
   text-decoration: none;
   color: #444;
   transition: .3s;
}

.filter-box ul li a:hover {
   color: #d4af37;
}

.filter-box select {
   width: 100%;
   padding: 8px;
   border-radius: 5px;
}

/* Product Section */
.shop-products {
   flex: 1;
}

.product-grid-flex {
   display: grid !important;
   grid-template-columns: repeat(3, 1fr) !important;
   /* Force 3 columns */
   gap: 2rem !important;
   justify-content: start !important;
}

/* Product Card */
.product-card-item {
   background: #fff;
   border-radius: 20px;
   overflow: hidden;
   box-shadow: 0 5px 20px rgba(0, 0, 0, .05);
   transition: .3s ease;
   width: 100% !important;
   /* Fill grid cell */
   max-width: none !important;
   margin: 0 !important;
}

/* Responsive Grid - Controlled by Grid Container */
@media(max-width: 1200px) {
   .product-grid-flex {
      grid-template-columns: repeat(2, 1fr) !important;
   }
}

@media(max-width: 768px) {
   .product-grid-flex {
      grid-template-columns: 1fr !important;
   }
}

.product-card-item:hover {
   transform: translateY(-10px);
   box-shadow: 0 15px 35px rgba(0, 0, 0, .1);
}

.product-img {
   position: relative;
   background: #f4f4f4;
   padding: 15px;
   text-align: center;
   margin-bottom: 0;
}

.product-img img {
   width: 100%;
   height: 230px;
   object-fit: cover;
}

.product-img .discount {
   position: absolute;
   top: 15px;
   left: 15px;
   background: #ff5e62;
   color: #fff;
   padding: 5px 12px;
   border-radius: 20px;
   font-size: 12px;
}

.product-img i {
   position: absolute;
   top: 15px;
   right: 15px;
   color: #ff5e62;
   font-size: 18px;
   cursor: pointer;
}

.product-info {
   padding: 15px 20px 25px 20px;
   margin-top: -10px;
   /* removes space between image & info */
   text-align: center;
}

.product-info h4 {
   font-size: 20px;
   font-weight: 600;
   margin-bottom: 12px;
}

.product-card-item {
   border-radius: 18px;
}

.product-img img {
   height: 250px;
   object-fit: cover;
}

.rating {
   color: #ffc107;
   font-size: 18px;
   margin-bottom: 12px;
}

.price {
   font-size: 18px;
   font-weight: bold;
   margin-bottom: 15px;
}

.shop-btn {
   padding: 10px 25px;
   border: none;
   border-radius: 30px;
   background: linear-gradient(135deg, #d4af37, #a8832f);
   color: #fff;
   cursor: pointer;
   transition: .3s;
}

.shop-btn:hover {
   background: #000;
}

/* Responsive */
@media(max-width:768px) {
   .shop-container {
      flex-direction: column;
   }

   .shop-sidebar {
      width: 100%;
   }
}

/* ================= UI COMPONENTS OVERRIDE ================= */

/* --- BUTTONS --- */
/* --- BUTTONS --- */
.btn,
.option-btn,
.delete-btn,
.shop-btn {
   display: inline-block;
   border-radius: 0.8rem;
   padding: 1rem 3rem;
   font-size: 1.8rem;
   cursor: pointer;
   text-transform: capitalize;
   text-align: center;
   transition: .3s ease;
   border: 2px solid transparent;
   box-shadow: none;
   font-weight: 500;
}

/* Primary Button (Gold -> Black) */
/* Primary Button (Gold -> Black) */
.btn,
.shop-btn {
   background: var(--gold);
   color: var(--black);
   border: 2px solid var(--gold);
}

.btn:hover,
.shop-btn:hover {
   background: var(--black);
   color: var(--gold);
   border: 2px solid var(--black);
   transform: translateY(-3px);
}

/* Option Button (Transparent -> Black) */
.option-btn {
   background: transparent;
   border: 2px solid var(--black);
   color: var(--black);
}

.option-btn:hover {
   background: var(--black);
   color: var(--gold);
   transform: translateY(-3px);
}

/* Delete Button */
.delete-btn {
   background: #fff;
   color: var(--red-accent);
   border: 2px solid var(--red-accent);
}

.delete-btn:hover {
   background: var(--red-accent);
   color: #fff;
   transform: translateY(-3px);
}

/* --- FORM ELEMENTS --- */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
select,
textarea {
   width: 100%;
   border-radius: var(--radius);
   border: var(--border);
   padding: 1.2rem 2rem;
   font-size: 1.6rem;
   background-color: var(--white);
   margin: 1rem 0;
   transition: .3s;
}

textarea {
   border-radius: 20px;
   resize: none;
   height: 150px;
}

input:focus,
select:focus,
textarea:focus {
   border-color: var(--gold);
   background-color: #fff;
   box-shadow: 0 0 0 4px rgba(212, 175, 55, 0.1);
}

/* --- TITLES & HEADINGS --- */
.title {
   text-align: center;
   margin-bottom: 3rem;
   font-size: 4rem;
   color: var(--black);
   font-family: 'Playfair Display', serif;
   position: relative;
   display: inline-block;
   left: 50%;
   transform: translateX(-50%);
}

.title::after {
   content: '';
   position: absolute;
   bottom: -1rem;
   left: 50%;
   transform: translateX(-50%);
   height: 3px;
   width: 6rem;
   background: var(--gold);
}

/* --- GLOBAL CARDS --- */
/* --- GLOBAL CARDS --- */
.box {
   background: var(--white);
   border-radius: 1.2rem;
   box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
   border: 2px solid #1e1e1e;
   /* Aesthetic border */
   transition: .3s;
   padding: 2rem;
}

.box:hover {
   box-shadow: var(--shadow-hover);
   transform: translateY(-5px);
}

/* --- PRODUCT CARD REFINEMENT --- */
.product-card-item {
   border: 2px solid #1e1e1e !important;
   border-radius: 1.2rem !important;
   box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05) !important;
}

.product-card-item:hover {
   box-shadow: var(--shadow-hover) !important;
}

.product-img {
   background: transparent !important;
   /* Remove gray bg */
}

.product-info h4 {
   font-family: 'Playfair Display', serif;
   font-size: 2.2rem !important;
   margin: 1rem 0;
}

.price {
   color: var(--gold-dark) !important;
   font-size: 2rem !important;
   font-weight: 600 !important;
}

/* --- EMPTY MESSAGE --- */
.empty {
   padding: 1.5rem;
   text-align: center;
   border: var(--border);
   background-color: var(--white);
   color: var(--red-accent);
   font-size: 2rem;
   width: 100%;
   border-radius: var(--radius-card);
}

/* ================= LATEST JEWELLERY GRID (Requested Update) ================= */
.products .box-container {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 2rem;
   align-items: stretch;
}

.products .box {
   display: flex;
   flex-direction: column;
   justify-content: space-between;
   height: 100%;
   margin-bottom: 0;
   /* Remove default margin if any */
   position: relative;
   /* For absolute pos children */
}

/* Ensure images take available space and look good */
.products .box img {
   height: 250px;
   width: 100%;
   object-fit: cover;
   margin-bottom: 15px;
   border-radius: var(--radius-card);
}

/* Eye icon positioning */
.products .box .fa-eye {
   position: absolute;
   top: 15px;
   right: 15px;
   background: var(--white);
   border-radius: 50%;
   height: 40px;
   width: 40px;
   line-height: 40px;
   font-size: 18px;
   color: var(--black);
   border: var(--border);
   transition: .3s;
   text-align: center;
   z-index: 10;
}

.products .box .fa-eye:hover {
   background: var(--gold);
   color: var(--white);
}

/* Responsive Grid */
@media (max-width: 991px) {
   .products .box-container {
      grid-template-columns: repeat(2, 1fr);
   }
}

@media (max-width: 600px) {
   .products .box-container {
      grid-template-columns: 1fr;
   }
}

/* ================= BUTTON REFINEMENT (Requested Update) ================= */
.products .box .btn,
.products .box .option-btn {
   font-size: 1.4rem;
   padding: 1rem 0;
   /* Reduced padding */
   margin-top: 0.8rem;
   width: 100%;
   border-radius: 0.8rem;
   /* Standard refined look, less round */
   box-shadow: none;
   /* Cleaner look */
   letter-spacing: 0.5px;
}

.products .box .btn {
   background: var(--gold);
   color: var(--black);
   border: 2px solid var(--gold);
}

.products .box .btn:hover {
   background: var(--black);
   color: var(--gold);
   border: 2px solid var(--black);
   transform: translateY(-2px);
   box-shadow: none;
}

.products .box .option-btn {
   background: transparent;
   border: 2px solid var(--black);
   color: var(--black);
}

.products .box .option-btn:hover {
   background: var(--black);
   border-color: var(--black);
   color: var(--gold);
   box-shadow: none;
   transform: none;
}

/* ================= CATEGORY BUTTON REFINEMENT (Requested Update) ================= */
.home-category .box .btn {
   background: var(--gold);
   color: var(--black);
   border: 2px solid var(--gold);
   border-radius: 0.8rem;
   padding: 1rem 0;
   font-size: 1.6rem;
   margin-top: 1rem;
   width: 100%;
   font-weight: 500;
   box-shadow: none;
}

.home-category .box .btn:hover {
   background: var(--black);
   color: var(--gold);
   border: 2px solid var(--black);
   transform: translateY(-2px);
   box-shadow: none;
}

/* ===============================
   MODERN CART REDESIGN
================================ */

.shopping-cart .box-container {
   display: block !important;
   /* Override grid */
   max-width: 1100px;
   margin: 0 auto;
}

.cart-header {
   display: grid;
   grid-template-columns: 2fr 1fr 1fr 1fr 0.5fr;
   padding: 1.5rem 2rem;
   background: var(--black);
   color: #fff;
   border-radius: 1rem;
   margin-bottom: 2rem;
   font-family: 'Playfair Display', serif;
   font-size: 1.6rem;
   letter-spacing: 1px;
   gap: 2rem;
}

.cart-item {
   display: grid;
   grid-template-columns: 2fr 1fr 1fr 1fr 0.5fr;
   align-items: center;
   background: #fff;
   padding: 2rem;
   margin-bottom: 2rem;
   border-radius: 1rem;
   box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
   border: 1px solid rgba(0, 0, 0, 0.05);
   transition: 0.3s ease;
   gap: 2rem;
}

.cart-item:hover {
   transform: translateY(-5px);
   box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
   border-color: var(--gold);
}

.cart-product-info {
   display: flex;
   align-items: center;
   gap: 2rem;
}

.cart-product-info a {
   display: block;
   width: 100px;
   height: 100px;
   flex-shrink: 0;
}

.cart-product-info img {
   width: 100%;
   height: 100%;
   object-fit: contain;
   /* Ensures jewelry shows fully */
   border-radius: 1rem;
   background: #f9f9f9;
   padding: 1rem;
   border: 1px solid #eee;
}

.cart-product-info .name {
   font-family: 'Playfair Display', serif;
   font-size: 1.8rem;
   color: var(--black);
   font-weight: 600;
}

.cart-item .price,
.cart-item .sub-total span {
   font-size: 1.8rem;
   color: #555;
   font-weight: 500;
}

.cart-item .sub-total span {
   color: var(--gold);
   font-weight: 700;
}

.form-update-wrapper {
   display: flex;
   gap: 1rem;
   align-items: center;
}

.cart-item .qty {
   width: 70px;
   padding: 0.8rem;
   border: 1px solid #ccc;
   border-radius: 5px;
   font-size: 1.6rem;
   text-align: center;
}

.cart-item .update-btn {
   background: none;
   color: var(--black);
   font-size: 1.4rem;
   cursor: pointer;
   text-decoration: underline;
   padding: 0;
   margin: 0;
   width: auto;
}

.cart-item .update-btn:hover {
   color: var(--gold);
}


.cart-item .delete-btn {
   color: #ccc;
   font-size: 2rem;
   transition: 0.3s;
   text-align: right;
   cursor: pointer;
   background: none !important;
   margin: 0 !important;
   width: auto !important;
}

.cart-item .delete-btn:hover {
   color: var(--red-accent);
   background: none !important;
   transform: scale(1.1);
}

/* Cart Summary/Grand Total Area */
.cart-total {
   max-width: 1100px;
   margin: 3rem auto;
   background: #fff;
   padding: 3rem;
   border-radius: 1rem;
   box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
   text-align: right;
   border: 1px solid rgba(0, 0, 0, 0.05);
}

.cart-total h1 {
   font-family: 'Playfair Display', serif;
   font-size: 2.4rem;
   margin-bottom: 2rem;
}

.cart-total h1 span {
   color: var(--gold);
   font-weight: 700;
   font-size: 3rem;
}

.cart-buttons {
   display: flex;
   justify-content: flex-end;
   gap: 2rem;
}

.cart-buttons .btn {
   margin: 0 !important;
   border-radius: 50px;
   padding: 1.2rem 3rem;
   font-size: 1.6rem;
   text-transform: uppercase;
   letter-spacing: 1px;
   font-weight: 500;
   transition: 0.3s;
   cursor: pointer;
   color: #fff;
   border: none;
}

.cart-buttons .btn:hover {
   transform: translateY(-3px);
   box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15);
}

.cart-buttons .btn.disabled {
   opacity: 0.5;
   pointer-events: none;
}

/* Specific Button Themes */
.btn-continue {
   background: var(--black-soft);
   color: #fff;
}

.btn-continue:hover {
   background: var(--gold) !important;
   color: #fff !important;
}

.btn-clear {
   background: var(--red-accent);
   color: #fff;
}

.btn-clear:hover {
   background: #a93226 !important;
   box-shadow: 0 5px 15px rgba(192, 57, 43, 0.3);
}

.btn-checkout {
   background: linear-gradient(135deg, #d4af37, #a8832f);
   color: #fff;
}

.btn-checkout:hover {
   background: var(--black) !important;
   /* Gold to Black hover */
   color: var(--gold) !important;
}

/* Responsive Cart */
@media(max-width: 768px) {
   .cart-header {
      display: none;
      /* Hide headers on mobile */
   }

   .cart-item {
      display: flex;
      flex-direction: column;
      text-align: center;
      gap: 1.5rem;
      position: relative;
      padding-top: 4rem;
   }

   .cart-product-info {
      flex-direction: column;
   }

   .form-update-wrapper {
      justify-content: center;
   }

   .cart-item .delete-btn {
      position: absolute;
      top: 1.5rem;
      right: 1.5rem;
      color: var(--red-accent);
   }

   .cart-buttons {
      flex-direction: column;
      align-items: center;
      gap: 1rem;
   }

   .cart-buttons .btn {
      width: 100%;
      text-align: center;
   }
}

/* ===============================
   WISHLIST LAYOUT OVERRIDES
================================ */
.wishlist-table .cart-header,
.wishlist-table .cart-item {
   grid-template-columns: 2.5fr 1fr 1.5fr 0.5fr;
   gap: 2rem;
}

.wishlist-table .qty {
   width: 60px;
   padding: 0.8rem;
   border: 1px solid #ccc;
   border-radius: 5px;
   font-size: 1.6rem;
   text-align: center;
   margin-right: 1rem;
}

.btn-add-cart {
   background: var(--black-soft);
   color: #fff;
   padding: 0.8rem 1.5rem;
   font-size: 1.4rem;
   border-radius: 30px;
   cursor: pointer;
   transition: 0.3s;
}

.btn-add-cart:hover {
   background: var(--gold);
}

/* Mobile Wishlist */
@media(max-width: 768px) {
   .wishlist-table .cart-item {
      display: flex;
      flex-direction: column;
      text-align: center;
   }
}

/* ===============================
   PRODUCT DETAILS + LINKS
================================ */
.product-link {
   color: inherit;
   text-decoration: none;
   display: inline-block;
}

.product-img > .product-link {
   display: block;
}

.product-link:hover {
   color: inherit;
}

.product-info h4 .product-link:hover {
   color: var(--gold);
}

form[data-product-url] {
   cursor: pointer;
}

.product-detail-page,
.related-products {
   margin-top: 2rem;
}

.product-detail-card {
   background: #fff;
   border-radius: 1.4rem;
   border: 1px solid rgba(0, 0, 0, 0.08);
   box-shadow: 0 10px 24px rgba(0, 0, 0, 0.05);
   padding: 2rem;
}

.product-detail-layout {
   display: grid;
   grid-template-columns: 1fr 1fr;
   gap: 2.2rem;
}

.product-gallery-main img {
   width: 100%;
   height: 42rem;
   object-fit: contain;
   border-radius: 1rem;
   border: 1px solid rgba(0, 0, 0, 0.1);
   background: #f9f7f5;
   padding: 1rem;
}

.product-gallery-thumbs {
   margin-top: 1rem;
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 0.8rem;
}

.product-detail-thumb {
   border: 1px solid rgba(0, 0, 0, 0.12);
   border-radius: 0.8rem;
   padding: 0.2rem;
   background: #fff;
   cursor: pointer;
}

.product-detail-thumb img {
   width: 100%;
   height: 8rem;
   object-fit: cover;
   border-radius: 0.55rem;
}

.product-detail-thumb.active {
   border-color: var(--gold);
}

.product-detail-info .price {
   font-size: 2.3rem;
   margin-bottom: 0.8rem;
}

.product-detail-info .name {
   font-size: 3rem;
   margin-bottom: 1.2rem;
   font-family: 'Playfair Display', serif;
   color: var(--black);
}

.product-detail-info .details {
   font-size: 1.5rem;
   line-height: 1.9;
   color: var(--text-gray);
   margin-bottom: 1.2rem;
}

.product-detail-stock {
   margin-bottom: 1rem;
   font-size: 1.4rem;
   font-weight: 500;
}

.product-stock-out-note {
   margin: 0.8rem 0 1rem;
   font-size: 1.35rem;
   font-weight: 500;
   color: #b94a48;
}

.product-detail-stock-low,
.product-detail-stock-out {
   color: #b94a48;
}

.product-detail-actions {
   display: flex;
   flex-wrap: wrap;
   gap: 1rem;
   align-items: center;
}

.product-detail-actions .qty {
   width: 8rem;
}

.related-product-grid {
   margin-top: 1rem;
}

.related-product-card {
   display: block;
   text-decoration: none;
   color: inherit;
}

.related-product-card .product-info {
   text-align: center;
}

@media (max-width: 900px) {
   .product-detail-layout {
      grid-template-columns: 1fr;
   }

   .product-gallery-main img {
      height: 32rem;
   }
}

/* ===============================
   LOGIN/LOGOUT MODAL STYLES
================================ */
.login-modal {
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   z-index: 10000;
   display: flex;
   align-items: center;
   justify-content: center;
}

.modal-overlay {
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background: rgba(0, 0, 0, 0.7);
   backdrop-filter: blur(5px);
}

.modal-content {
   position: relative;
   background: #fff;
   max-width: 500px;
   width: 90%;
   border-radius: 1.5rem;
   padding: 4rem 3rem;
   box-shadow: 0 25px 70px rgba(0, 0, 0, 0.3);
   z-index: 10001;
   animation: modalSlideIn 0.3s ease;
}

@keyframes modalSlideIn {
   from {
      transform: translateY(-50px);
      opacity: 0;
   }

   to {
      transform: translateY(0);
      opacity: 1;
   }
}

.modal-close {
   position: absolute;
   top: 2rem;
   right: 2rem;
   font-size: 3rem;
   color: #ccc;
   cursor: pointer;
   transition: 0.3s;
   line-height: 1;
}

.modal-close:hover {
   color: var(--black);
}

/* LOGIN FORM STYLES */
.modal-login-form {
   text-align: center;
}

.modal-logo {
   width: 80px;
   height: auto;
   margin-bottom: 1.5rem;
}

.modal-login-form h2 {
   font-family: 'Playfair Display', serif;
   font-size: 2.8rem;
   color: var(--black);
   margin-bottom: 3rem;
}

.modal-login-form .form-group {
   margin-bottom: 2rem;
   text-align: left;
}

.modal-login-form label {
   display: block;
   font-size: 1.4rem;
   color: var(--text-gray);
   margin-bottom: 0.8rem;
}

.modal-login-form input {
   width: 100%;
   padding: 1.2rem 1.5rem;
   font-size: 1.6rem;
   border: 2px solid #e0e0e0;
   border-radius: 50px;
   transition: 0.3s;
}

.modal-login-form input:focus {
   border-color: var(--gold);
   outline: none;
}

.modal-login-btn {
   width: 100%;
   padding: 1.4rem;
   background: linear-gradient(135deg, #d4af37, #a8832f);
   color: #fff;
   font-size: 1.6rem;
   font-weight: 600;
   border: none;
   border-radius: 50px;
   cursor: pointer;
   transition: 0.3s;
   margin-top: 1rem;
}

.modal-login-btn:hover {
   background: var(--black);
   transform: translateY(-2px);
   box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

.modal-register-link {
   margin-top: 2rem;
   font-size: 1.4rem;
   color: var(--text-gray);
}

.modal-register-link a {
   color: var(--gold);
   text-decoration: underline;
}

/* USER DETAILS STYLES */
.modal-user-details {
   text-align: center;
}

.modal-profile-img {
   width: 100px;
   height: 100px;
   border-radius: 50%;
   object-fit: cover;
   border: 3px solid var(--gold);
   margin-bottom: 1.5rem;
}

.modal-user-details h2 {
   font-family: 'Playfair Display', serif;
   font-size: 2.5rem;
   color: var(--black);
   margin-bottom: 0.5rem;
}

.modal-email {
   font-size: 1.5rem;
   color: var(--text-gray);
   margin-bottom: 3rem;
}

.modal-actions {
   display: flex;
   flex-direction: column;
   gap: 1.5rem;
}

.modal-profile-btn,
.modal-logout-btn {
   padding: 1.2rem 2rem;
   font-size: 1.5rem;
   border-radius: 50px;
   text-align: center;
   transition: 0.3s;
   font-weight: 500;
}

.modal-profile-btn {
   background: var(--black-soft);
   color: #fff;
}

.modal-profile-btn:hover {
   background: var(--gold);
}

.modal-logout-btn {
   background: var(--red-accent);
   color: #fff;
}

.modal-logout-btn:hover {
   background: #a71d2a;
   transform: translateY(-2px);
   box-shadow: 0 5px 15px rgba(167, 29, 42, 0.3);
}
/* ===============================================
   COMPREHENSIVE MOBILE RESPONSIVENESS
   =============================================== */

/* ===== Tablet & Below (768px) ===== */
@media(max-width: 768px) {
   
   html {
      font-size: 55%;
   }

   /* HEADER */
   .header .navbar {
      position: absolute;
      top: 100%;
      left: 0;
      right: 0;
      background: var(--white);
      border-top: var(--border);
      border-bottom: var(--border);
      clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
      transition: 0.3s;
   }

   .header .navbar.active {
      clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
   }

   .header .navbar a {
      display: block;
      margin: 2rem;
      font-size: 1.8rem;
   }

   #menu-btn {
      display: inline-block;
   }

   /* PRODUCT GRIDS */
   .product-grid-flex,
   .products .box-container,
   .latest-products .box-container {
      grid-template-columns: 1fr !important;
      gap: 2rem;
   }

   /* SHOP LAYOUT */
   .shop-wrapper {
      flex-direction: column;
   }

   .shop-sidebar {
      width: 100%;
      margin-bottom: 3rem;
   }

   .shop-products {
      width: 100%;
   }

   /* CART & WISHLIST */
   .cart-wrapper,
   .wishlist-container {
      flex-direction: column;
   }

   .cart-items,
   .wishlist-items {
      width: 100%;
   }

   .cart-summary {
      width: 100%;
      margin-top: 3rem;
   }

   /* CONTACT PAGE */
   .contact-wrapper {
      flex-direction: column;
   }

   .contact-form,
   .contact-info-box {
      width: 100%;
   }

   /* BUTTONS - Touch Friendly */
   .btn,
   .option-btn,
   .delete-btn,
   .shop-btn {
      min-height: 44px;
      padding: 1.2rem 2.5rem;
      font-size: 1.6rem;
   }

   /* FORMS */
   .checkout form .flex {
      flex-direction: column;
   }

   .checkout form .inputBox {
      width: 100%;
   }
}

/* ===== Mobile Phones (480px) ===== */
@media(max-width: 480px) {
   
   html {
      font-size: 50%;
   }

   /* HEADER */
   .header {
      padding: 1.5rem 2rem;
   }

   .header .logo img {
      height: 4rem;
   }

   .header .icons div,
   .header .icons a div {
      font-size: 2rem;
      height: 4rem;
      width: 4rem;
      line-height: 4rem;
   }

   /* HERO/BANNER */
   .home .slide {
      min-height: 40vh;
   }

   /* PRODUCT CARDS */
   .box,
   .product-card-item {
      padding: 1.5rem;
   }

   .box img,
   .product-card-item img {
      height: 20rem;
   }

   .box .name,
   .product-card-item h4 {
      font-size: 1.8rem;
   }

   .box .price,
   .product-card-item .price {
      font-size: 2rem;
   }

   /* SECTION HEADINGS */
   .heading,
   .title {
      font-size: 3rem;
   }

   /* CART ITEMS */
   .cart-item,
   .wishlist-item {
      flex-direction: column;
      text-align: center;
   }

   .cart-item img,
   .wishlist-item img {
      width: 100%;
      max-width: 200px;
      margin: 0 auto 1.5rem;
   }

   /* FORMS */
   input[type="text"],
   input[type="email"],
   input[type="number"],
   input[type="password"],
   textarea,
   select {
      font-size: 1.6rem;
      padding: 1.2rem 1.5rem;
   }

   /* SPACING */
   section {
      padding: 3rem 2rem;
   }

   /* FOOTER */
   .footer .footer-shell {
      grid-template-columns: 1fr;
      gap: 2rem;
   }
}

/* ===== Small Mobile (320px) ===== */
@media(max-width: 375px) {
   
   html {
      font-size: 45%;
   }

   .header .icons {
      gap: 0.5rem;
   }

   .header .icons div,
   .header .icons a div {
      font-size: 1.8rem;
      height: 3.5rem;
      width: 3.5rem;
      line-height: 3.5rem;
   }

   .btn,
   .option-btn {
      padding: 1rem 2rem;
      font-size: 1.4rem;
   }
}

/* ===============================
   2026 VISUAL + RESPONSIVE REFRESH
================================ */
:root {
   --gold: #c27d6a;
   --gold-light: #e9b8aa;
   --gold-dark: #a85f4f;
   --black: #2f2a33;
   --black-soft: #4b4352;
   --light-bg: #fff8f5;
   --text-gray: #645d69;
   --text-color: #2f2a33;
}

body {
   background:
      radial-gradient(circle at top right, rgba(233, 184, 170, 0.2), transparent 38%),
      linear-gradient(180deg, #fffaf7 0%, #fff 100%);
}

img {
   max-width: 100%;
}

section {
   width: min(100%, 1400px);
   margin-left: auto;
   margin-right: auto;
}

.header {
   background: rgba(255, 255, 255, 0.96);
   backdrop-filter: blur(8px);
}

.header .navbar a {
   font-weight: 600;
}

.home-bg {
   border-bottom-left-radius: 2rem;
   border-bottom-right-radius: 2rem;
   overflow: hidden;
}

.products .box,
.product-card-item,
.home-category .box {
   border-radius: 1.4rem;
}

@media (max-width: 992px) {
   .home-bg .home .content h3 {
      font-size: 4.5rem;
   }

   .header .flex {
      padding: 1rem 1.8rem;
   }

   .about-image img {
      height: auto;
      max-height: 42rem;
   }
}

@media (max-width: 768px) {
   .header .profile {
      right: 1rem;
      width: min(34rem, calc(100vw - 2rem));
   }

   .home-bg .home .content h3 {
      font-size: 3.6rem;
      line-height: 1.2;
   }

   .shop-container {
      padding: 2rem 1.2rem;
      gap: 1.8rem;
   }

   .shop-sidebar {
      width: 100%;
   }

   .table-container,
   table {
      width: 100%;
      overflow-x: auto;
      display: block;
   }
}

@media (max-width: 576px) {
   .header .logo img {
      height: 6rem;
   }

   .footer .footer-shell {
      gap: 1.5rem;
   }

   .footer .footer-col a,
   .footer .footer-col p,
   .footer .footer-brand p {
      word-break: break-word;
   }
}

/* ===============================
   FINAL RESPONSIVE STABILITY
================================ */
.table-container {
   width: 100%;
   overflow-x: auto;
}

.table-container table {
   width: 100%;
   border-collapse: collapse;
}

.product-grid-flex {
   grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)) !important;
}

@media (min-width: 1400px) {
   .product-grid-flex {
      grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
   }
}

@media (max-width: 768px) {
   section {
      padding-left: 1.2rem !important;
      padding-right: 1.2rem !important;
   }

   .header .flex {
      gap: 1rem;
   }

   .header .icons {
      gap: 0.9rem;
   }

   .header .icons span {
      top: -6px;
      left: -2px;
   }
}

/* ===============================
   2026 STABILITY PATCH
=============================== */
html,
body {
   max-width: 100%;
   overflow-x: hidden;
}

img,
video,
iframe {
   max-width: 100%;
   height: auto;
}

.products .box-container {
   grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
   align-items: stretch;
}

.products .box {
   height: 100%;
   display: flex;
   flex-direction: column;
}

.products .box .name {
   margin-bottom: 0.8rem;
}

.products .box .btn,
.products .box .option-btn,
.products .box .shop-btn {
    width: 100%;
    text-align: center;
}

/* ===============================
   Product Cards – Modernized
=============================== */
.products .box-container {
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 1.4rem;
}

.products .box {
    position: relative;
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 1.1rem;
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.05);
    padding: 1.1rem 1.1rem 1.3rem;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.products .box:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08);
    border-color: rgba(0, 0, 0, 0.12);
}

.products .box img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    border-radius: 1rem;
    margin-bottom: 1.1rem;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.05);
    transition: transform 0.22s ease;
}

.products .box:hover img {
    transform: scale(1.01);
}

.products .box .name {
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
    font-size: 1.65rem;
    color: #1f1f1f;
    margin: 0 0 0.45rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.products .box .stars {
    margin: 0 0 0.6rem;
    color: #f5b301;
    font-size: 1.4rem;
}

.products .box .price {
    margin: 0 0 1rem;
    color: #2b2b2b;
    font-size: 1.7rem;
    font-weight: 600;
}

.products .box .price del {
    color: #9b9b9b;
    margin-right: 0.5rem;
}

.products .box .price ins {
    color: var(--gold);
    text-decoration: none;
    font-weight: 700;
}

.products .box .meta-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.6rem;
    margin-bottom: 0.4rem;
}

.products .box .badge {
    display: inline-block;
    background: #c93c3c;
    color: #fff;
    padding: 0.25rem 0.65rem;
    border-radius: 0.8rem;
    font-size: 1.1rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.products .box .wish {
    color: #c17b52;
    font-size: 1.6rem;
}

.products .box .btn,
.products .box .shop-btn {
    background: linear-gradient(135deg, #c17b52, #a45c46);
    color: #fff;
    border: none;
    padding: 1.05rem 0;
    font-size: 1.4rem;
    border-radius: 0.9rem;
    box-shadow: 0 8px 18px rgba(164, 92, 70, 0.22);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.products .box .btn:hover,
.products .box .shop-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 22px rgba(164, 92, 70, 0.28);
}

.top-announcement-text {
   min-width: 0;
}

@media (max-width: 992px) {
   .header .flex {
      gap: 1rem;
   }

   .header .icons {
      gap: 0.8rem;
   }
}

@media (max-width: 768px) {
   .top-announcement-inner {
      justify-content: flex-start;
      gap: 0.8rem;
   }

   .top-announcement-title,
   .top-announcement-subtitle {
      white-space: normal;
      overflow-wrap: anywhere;
   }

   .cart-item,
   .wishlist-table .cart-item {
      overflow: hidden;
   }
}

/* ===============================
   GLOBAL LAYOUT CONSISTENCY
   (Spacing + Width only, no theme/color changes)
=============================== */
:root {
   --layout-max-width: 1280px;
   --layout-gutter: clamp(1.2rem, 2.2vw, 2.8rem);
   --layout-section-space: clamp(2.8rem, 4.2vw, 5.4rem);
}

.site-page section:not(.home-bg):not(.footer-shell):not(.checkout-page):not(.order-details-page):not(.contact-section):not(.profile-page-shell) {
   width: min(calc(100% - (var(--layout-gutter) * 2)), var(--layout-max-width));
   margin-left: auto;
   margin-right: auto;
   /* padding-left: 0 !important; */
   padding-right: 0 !important;
}

.site-page section:first-of-type:not(.home-bg):not(.footer-shell):not(.checkout-page):not(.order-details-page):not(.contact-section):not(.profile-page-shell) {
   margin-top: clamp(1rem, 1.8vw, 1.8rem);
}

.site-page section + section {
   margin-top: clamp(1.2rem, 2.2vw, 2rem);
}

.site-page .home-bg.hero-banner-dynamic.hero-slider {
   width: min(calc(100% - (var(--layout-gutter) * 2)), var(--layout-max-width));
   margin: clamp(0.9rem, 1.6vw, 1.6rem) auto 0;
   border-radius: 1.4rem;
   border: 1px solid rgba(0, 0, 0, 0.08);
   overflow: hidden;
}

.site-page .hero-banner-inner {
   width: min(calc(100% - (var(--layout-gutter) * 2)), var(--layout-max-width));
   margin-left: auto;
   margin-right: auto;
   padding-left: 0 !important;
   padding-right: 0 !important;
}

.site-page.about-page section {
   width: min(calc(100% - (var(--layout-gutter) * 2)), var(--layout-max-width)) !important;
   margin-left: auto !important;
   margin-right: auto !important;
   padding-top: var(--layout-section-space) !important;
   padding-bottom: var(--layout-section-space) !important;
   padding-left: 0 !important;
   padding-right: 0 !important;
}

.site-page.about-page section:first-of-type {
   margin-top: clamp(0.8rem, 1.4vw, 1.4rem) !important;
   border-radius: 1.4rem;
   overflow: hidden;
}

.site-page.about-page section > div[style*="max-width: 1200px"],
.site-page.about-page section > div[style*="max-width:1200px"] {
   max-width: 100% !important;
}

.footer .footer-shell {
   width: min(calc(100% - (var(--layout-gutter) * 2)), var(--layout-max-width));
   max-width: none;
   padding-left: 0;
   padding-right: 0;
}

.footer .footer-bottom {
   width: min(calc(100% - (var(--layout-gutter) * 2)), var(--layout-max-width));
   margin-left: auto;
   margin-right: auto;
}

/* ===============================
   PERFORMANCE + RESPONSIVE BOOST
=============================== */
.site-page img {
   max-width: 100%;
   height: auto;
}

.site-page img[loading="lazy"] {
   contain: content;
}

@media (max-width: 1024px) {
   .site-page.about-page section > div[style*="grid-template-columns: 1fr 1fr"] {
      grid-template-columns: 1fr !important;
      gap: 3rem !important;
   }

   .site-page.about-page section div[style*="grid-template-columns: repeat(4, 1fr)"] {
      grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
      gap: 2rem !important;
   }
}

@media (max-width: 576px) {
   .site-page.about-page section div[style*="grid-template-columns: repeat(4, 1fr)"] {
      grid-template-columns: 1fr !important;
   }

   .site-page.about-page h1[style*="font-size: 5rem"] {
      font-size: 3.2rem !important;
   }

   .site-page.about-page h2[style*="font-size: 3.5rem"] {
      font-size: 2.3rem !important;
   }
}

/* ===============================
   Product Cards Final Override
   Applies to home/shop/category/search/related
=============================== */
.site-page .product-grid-flex,
.site-page .products .box-container {
   display: grid !important;
   grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
   gap: 1.4rem !important;
   align-items: stretch !important;
}

.site-page .product-card-item,
.site-page .products .box {
   position: relative;
   background: #fff;
   border: 1px solid rgba(0, 0, 0, 0.08);
   border-radius: 1.1rem;
   box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
   transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
   overflow: hidden;
}

.site-page .product-card-item:hover,
.site-page .products .box:hover {
   transform: translateY(-4px);
   box-shadow: 0 14px 30px rgba(0, 0, 0, 0.1);
   border-color: rgba(0, 0, 0, 0.14);
}

.site-page .product-card-item .product-img,
.site-page .products .box .product-link {
   display: block;
}

.site-page .product-card-item .product-img {
   padding: 0 !important;
   background: #f6f6f6;
}

.site-page .product-card-item .product-img img,
.site-page .products .box img {
   width: 100%;
   height: 270px !important;
   object-fit: cover !important;
   display: block;
   margin: 0;
   border-radius: 0;
   box-shadow: none;
}

.site-page .product-card-item .product-info {
   margin-top: 0 !important;
   padding: 1.2rem 1.2rem 1.35rem !important;
   text-align: center;
}

.site-page .product-card-item .product-info h4,
.site-page .products .box .name {
   margin: 0.25rem 0 0.55rem;
   font-family: 'Poppins', sans-serif;
   font-weight: 600;
   font-size: 1.65rem !important;
   letter-spacing: 0.07em;
   text-transform: uppercase;
   line-height: 1.4;
}

.site-page .product-card-item .product-info h4 .product-link,
.site-page .products .box .name .product-link {
   color: #232323;
}

.site-page .product-card-item .rating {
   margin-bottom: 0.7rem !important;
}

.site-page .product-card-item .rating i {
   color: #f5b301;
   font-size: 1.45rem;
}

.site-page .product-card-item .price,
.site-page .products .box .price {
   margin: 0 0 1rem !important;
   font-size: 1.65rem !important;
   font-weight: 600 !important;
   color: #2d2d2d !important;
}

.site-page .product-card-item .price del,
.site-page .products .box .price del {
   color: #9a9a9a;
   margin-right: 0.45rem;
}

.site-page .product-card-item .price ins,
.site-page .products .box .price ins {
   text-decoration: none;
   color: var(--gold);
   font-weight: 700;
}

.site-page .product-card-item .shop-btn,
.site-page .products .box .btn,
.site-page .products .box .option-btn {
   width: 100% !important;
   border-radius: 0.9rem !important;
   padding: 1rem 1rem !important;
   font-size: 1.45rem !important;
}

.site-page .product-card-item .wishlist-btn {
   position: absolute;
   top: 1rem;
   right: 1rem;
   width: 3.5rem;
   height: 3.5rem;
   border-radius: 50%;
   background: rgba(255, 255, 255, 0.94);
   box-shadow: 0 4px 12px rgba(0, 0, 0, 0.14);
   z-index: 3;
}

.site-page .product-card-item .wishlist-btn i {
   color: #d07a5c;
   font-size: 1.5rem;
}

.site-page .products .box {
   display: grid;
   grid-template-columns: 1fr;
   padding: 0;
}

.site-page .products .box .fa-eye {
   position: absolute;
   top: 1rem;
   right: 1rem;
   z-index: 3;
}

.site-page .products .box .product-link {
   order: 1;
}

.site-page .products .box .name {
   order: 2;
   padding: 1.1rem 1.2rem 0;
   text-align: center;
}

.site-page .products .box .product-stock-out-note {
   order: 3;
   text-align: center;
   margin: 0 1.2rem 0.6rem;
}

.site-page .products .box .price {
   order: 4;
   text-align: center;
}

.site-page .products .box .option-btn {
   order: 5;
   margin: 0 1.2rem 0.8rem;
}

.site-page .products .box .btn {
   order: 6;
   margin: 0 1.2rem 1.2rem;
}

@media (max-width: 768px) {
   .site-page .product-card-item .product-img img,
   .site-page .products .box img {
      height: 225px !important;
   }
}

/* Home/shop page-level overrides with higher specificity */
.site-page.home-page .home-products .product-grid-flex,
.site-page.shop-page .product-grid-flex {
   grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important;
   gap: 1.4rem !important;
}

.site-page.home-page .home-products .product-card-item,
.site-page.shop-page .product-card-item {
   border-radius: 1.1rem !important;
   border: 1px solid rgba(0, 0, 0, 0.08) !important;
   box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06) !important;
}

.site-page.home-page .home-products .product-img,
.site-page.shop-page .product-img {
   padding: 0 !important;
}

.site-page.home-page .home-products .product-info,
.site-page.shop-page .product-info {
   margin-top: 0 !important;
   padding: 1.2rem 1.2rem 1.35rem !important;
}
