/* MyLuxHome brand theme: Blue & Gold, premium typographic styles */
:root{
  --brand-blue: #0b4a7a; /* slightly lighter premium navy-blue */
  --brand-blue-2: #0a3f68;
  --brand-gold-1: #b78a38;
  --brand-gold-2: #f6e3a2;
  --muted: #c3c9d0;
  --bg-main: linear-gradient(180deg,#063142 0%, #08324a 50%); /* softened, less somber */
}

/* Typography */
h1,h2,h3,h4,h5{font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;color:var(--brand-gold-2);letter-spacing:.6px;margin-bottom:.6rem}
body{font-family: 'Merriweather', Georgia, 'Times New Roman', serif;color: rgba(255,255,255,0.96);background: var(--bg-main);min-height:100vh;display:flex;flex-direction:column}

/* Keep elegant serif headings for craftsmanship */
h1,h2,h3,h4,h5{font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;color:var(--brand-gold-2);letter-spacing:.6px;margin-bottom:.6rem}
h1{font-weight:700;font-size:2.4rem}
h2{font-weight:600;font-size:1.8rem}
h3{font-weight:600;font-size:1.35rem}

/* body copy */
p,li,small,span{color:rgba(255,255,255,0.96)}

/* Headings subtle gold stroke for premium feel */
h1,h2,h3{ text-shadow: 0 1px 0 rgba(0,0,0,0.45);}

/* Links */
a{color:var(--brand-gold-2);text-decoration:none}
a:hover{text-decoration:underline;color:var(--brand-gold-1)}

/* Buttons: primary = gold on dark navy */
.btn-primary{background:linear-gradient(90deg,var(--brand-gold-2),var(--brand-gold-1));color:var(--brand-blue);border:0;padding:.55rem .9rem;border-radius:8px;box-shadow:0 8px 26px rgba(183,138,56,0.12);font-weight:600}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 12px 34px rgba(183,138,56,0.18);}
.btn-outline-primary{background:transparent;color:var(--brand-gold-2);border:1px solid rgba(183,138,56,0.32);padding:.45rem .8rem;border-radius:8px}
.btn-outline-primary:hover{background:rgba(183,138,56,0.06);color:var(--brand-gold-1)}

/* Small buttons (nav actions) */
.btn-sm.btn-primary{padding:.32rem .6rem;border-radius:6px}

/* Form controls subtle dark look */
.form-control{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.05);color:rgba(240,246,252,0.95);border-radius:6px}
.form-control:focus{box-shadow:0 6px 20px rgba(11,55,104,0.14);border-color:rgba(183,138,56,0.18)}

/* Navbar overrides: keep layout, change colors */
.navbar{background:transparent}
.navbar .nav-link{color:rgba(255,255,255,0.96);font-weight:600}
.navbar .nav-link:hover{color:var(--brand-gold-2)}
.navbar .navbar-logo img{max-height:64px}

/* Icons (FontAwesome) color to gold accent by default */
.fa-solid, .fa-regular, .fa-light{color:var(--brand-gold-2)}
.nav-link .fa-solid{margin-right:.45rem}

/* Cards and product tiles: soft navy surfaces */
.card{background:linear-gradient(180deg, rgba(36, 81, 231, 0.02), rgba(40, 109, 173, 0.404));border:1px solid rgba(255,255,255,0.03);box-shadow:0 6px 28px rgba(2,8,18,0.6)}

/* Product card specifics for shop tiles */
.product-card{display:flex;flex-direction:column;gap:.6rem;padding:1rem;border-radius:12px;overflow:hidden}
.product-card .product-media{background:linear-gradient(180deg, rgba(0,0,0,0.06), rgba(0,0,0,0.02));border-radius:10px;display:flex;align-items:center;justify-content:center;height:260px;overflow:hidden}
.product-card .product-media img{max-width:100%;height:100%;object-fit:cover;display:block}
.product-card .product-title{font-family:'Playfair Display', serif;color:var(--brand-gold-2);font-size:1.05rem;margin:0}
.product-card .product-excerpt{color:rgba(230,235,240,0.78);font-size:.95rem}
.product-card .product-price{font-weight:800;color:var(--brand-gold-1);font-size:1.05rem}
.product-card .card-actions{display:flex;gap:.5rem;align-items:center}
.product-card .btn{border-radius:8px}
.product-card .btn-primary{padding:.45rem .8rem}
.product-card .btn-outline{background:transparent;border:1px solid rgba(255,255,255,0.04);color:rgba(240,246,252,0.95)}

/* Hover lift for product cards */
.product-card:hover{transform:translateY(-6px);box-shadow:0 20px 48px rgba(2,8,18,0.65)}


/* Footer: darker with subtle gold links */
footer{background:linear-gradient(180deg,#052330 0%, #062a38 100%);color:rgba(255,255,255,0.92);margin-top:auto}
footer a{color:var(--brand-gold-2)}

/* Make footer stick to bottom when content is short */
main{flex:1}
footer{flex-shrink:0}

/* Utility: small gold badges */
.badge-gold{background:linear-gradient(90deg,var(--brand-gold-2),var(--brand-gold-1));color:var(--brand-blue);padding:.18rem .45rem;border-radius:999px;font-weight:700}

/* Input placeholders */
::placeholder{color:rgba(255,255,255,0.6)}

/* subtle page container background overlay for content readability */
.page-surface{background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(32, 207, 193, 0.01));backdrop-filter: blur(2px);padding:1.2rem;border-radius:10px}

/* Product viewer layout */
.product-viewer .breadcrumb a{color:rgba(255,255,255,0.86)}
.product-viewer .breadcrumb .active{color:var(--muted)}
.pv-card{border-radius:14px;padding:1.2rem}
.pv-gallery{gap:1rem}
.pv-main{border-radius:12px;overflow:hidden;background:rgba(0,0,0,0.12)}
.pv-main-img{width:100%;height:420px;object-fit:cover;display:block;transition:transform .35s ease}
.pv-main:hover .pv-main-img{transform:scale(1.03)}
.pv-badge{position:absolute;left:16px;top:16px;font-size:.78rem}
.pv-thumbs{display:flex;gap:.6rem;margin-top:1rem;flex-wrap:wrap}
.pv-thumb{border:1px solid rgba(255,255,255,0.08);background:rgba(255,255,255,0.03);border-radius:10px;padding:0;overflow:hidden;width:82px;height:70px;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,border-color .2s ease}
.pv-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.pv-thumb.is-active{border-color:rgba(183,138,56,0.7);transform:translateY(-2px)}
.pv-thumb:hover{border-color:rgba(183,138,56,0.45)}
.pv-more{font-weight:700;color:var(--brand-gold-2)}
.pv-summary h1{font-size:2rem}
.pv-meta{color:rgba(255,255,255,0.7);font-size:.92rem}
.pv-rating{display:flex;align-items:center;gap:.25rem;color:var(--brand-gold-2);font-weight:600}
.pv-rating span{margin-left:.4rem;color:rgba(255,255,255,0.85)}
.pv-lead{color:rgba(255,255,255,0.9)}
.pv-price-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 0;border-top:1px solid rgba(255,255,255,0.06);border-bottom:1px solid rgba(255,255,255,0.06);margin-top:1rem}
.pv-price{font-size:1.7rem;font-weight:800;color:var(--brand-gold-1)}
.pv-tax{font-size:.85rem;color:rgba(255,255,255,0.65)}
.pv-stock{display:flex;align-items:center;gap:.5rem;color:rgba(255,255,255,0.85);font-size:.9rem}
.pv-dot{width:10px;height:10px;border-radius:50%;background:#2dd4bf;box-shadow:0 0 12px rgba(45,212,191,0.6)}
.pv-dot--out{background:#ef4444;box-shadow:0 0 12px rgba(239,68,68,0.6)}
.pv-options{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1rem}
.pv-options .form-label{color:rgba(255,255,255,0.8);font-weight:600}
.pv-options .form-select{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);color:rgba(240,246,252,0.95);border-radius:8px}
.pv-cta{display:flex;gap:.8rem;align-items:center;margin-top:1.2rem;flex-wrap:wrap}
.pv-qty{display:flex;align-items:center;gap:.5rem}
.pv-qty .form-control{width:72px;text-align:center}
.pv-qty .btn{padding:.45rem .7rem}
.pv-actions{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:1rem}
.pv-actions .btn{border-radius:10px}
.pv-delivery{display:grid;gap:1rem}
.pv-delivery-item{display:flex;gap:.8rem;align-items:flex-start}
.pv-delivery-item i{font-size:1.2rem}
.pv-details p{color:rgba(255,255,255,0.9)}
.pv-specs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem}
.pv-specs span{display:block;color:rgba(255,255,255,0.65);font-size:.85rem}
.pv-specs strong{color:rgba(255,255,255,0.96)}
.pv-list{list-style:none;padding:0;margin:0;display:grid;gap:.6rem}
.pv-list li{padding-left:1.2rem;position:relative;color:rgba(255,255,255,0.9)}
.pv-list li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--brand-gold-1);position:absolute;left:0;top:.55rem}

@media (max-width: 992px){
  .pv-main-img{height:360px}
  .pv-summary h1{font-size:1.7rem}
  .pv-options{grid-template-columns:1fr}
  .pv-actions{grid-template-columns:1fr}
  .pv-specs{grid-template-columns:1fr}
}

@media (max-width: 576px){
  .pv-main-img{height:280px}
  .pv-thumb{width:70px;height:60px}
  .pv-price-row{flex-direction:column;align-items:flex-start}
}

/* Cart page refinements to match product viewer */
.cart-page .cart-subtitle{color:rgba(255,255,255,0.7)}
.cart-page .cart-count{background:rgba(255,255,255,0.06);padding:.35rem .8rem;border-radius:999px;color:var(--brand-gold-2);font-weight:600}
.cart-page .cart-items{display:grid;gap:1rem}
.cart-page .cart-item{background:linear-gradient(180deg, rgba(11,55,104,0.16), rgba(7,29,48,0.2));border:1px solid rgba(255,255,255,0.05);border-radius:14px;padding:1rem}
.cart-page .cart-item .prod-title{color:var(--brand-gold-2)}
.cart-page .cart-item .prod-meta{color:rgba(255,255,255,0.7)}
.cart-page .cart-item .price{color:var(--brand-gold-1)}
.cart-page .cart-item .qty-controls button{border-radius:10px;border:1px solid rgba(255,255,255,0.08);background:rgba(255,255,255,0.04);color:var(--brand-gold-2)}
.cart-page .cart-item .qty-controls input{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);color:rgba(240,246,252,0.95)}
.cart-page .cart-item .remove-btn{color:#ff9aa2}
.cart-page .cart-item .save-later{color:rgba(255,255,255,0.7)}
.cart-page .cart-item.unavailable{opacity:0.7;border-style:dashed}
.cart-page .cart-item.unavailable .prod-meta{color:#ff9aa2}
.cart-page .cart-summary-card h3{font-size:1.3rem}
.cart-page .cart-summary-card #total{color:var(--brand-gold-1);font-weight:700}
.cart-page .empty-state{background:rgba(255,255,255,0.02);border-color:rgba(255,255,255,0.08)}
.cart-page .cart-sticky{top:90px}

@media (max-width: 992px){
  .cart-page .cart-sticky{position:static}
}

/* Checkout page */
.checkout-page .checkout-thumb{width:64px;height:64px;border-radius:10px;object-fit:cover;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08)}
.checkout-page .cart-summary-card .fs-5{color:var(--brand-gold-1);font-weight:700}
.checkout-page .stripe-element{min-height:56px;padding:.6rem;border-radius:10px;background:rgba(10,42,61,0.7);border:1px solid rgba(183,138,56,0.12);box-shadow:inset 0 1px 3px rgba(0,0,0,0.2)}
.checkout-page #stripe-message{min-height:18px;margin-top:.25rem}
.checkout-page .btn.is-loading{opacity:.85;pointer-events:none}
.checkout-page .btn.is-loading .btn-label{opacity:.6}
.checkout-page .btn .btn-spinner{display:none;width:18px;height:18px;border-radius:50%;border:2px solid rgba(11,55,104,0.2);border-top-color:rgba(11,55,104,0.8);margin-left:.6rem;animation:spin 0.8s linear infinite}
.checkout-page .btn.is-loading .btn-spinner{display:inline-block}

@keyframes spin{to{transform:rotate(360deg)}}

/* Admin order timeline */
.order-timeline{list-style:none;padding-left:0;margin:0;display:grid;gap:.8rem;position:relative}
.order-timeline li{display:flex;gap:.6rem;align-items:flex-start}
.order-timeline .timeline-dot{width:10px;height:10px;border-radius:50%;background:var(--brand-gold-1);margin-top:.35rem;box-shadow:0 0 10px rgba(183,138,56,0.5)}
.order-timeline .timeline-body{flex:1}

/* Admin layout + sidebar */
.admin-layout .admin-sidebar-card{padding:1rem}
.admin-header{gap:1rem}
.admin-header-text{flex:1}
.admin-header-actions{display:flex;gap:.5rem;align-items:center}
.admin-header-actions .btn{white-space:nowrap}
.admin-menu-toggle{display:inline-flex;align-items:center;gap:.35rem;padding:.45rem 1rem;border:none;border-radius:999px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:linear-gradient(120deg,#ff5858,#c91818);color:#fff;box-shadow:0 8px 18px rgba(0,0,0,0.32);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.admin-menu-toggle:focus-visible{outline:3px solid rgba(255,255,255,0.4);outline-offset:3px}
.admin-menu-toggle:hover{transform:translateY(-1px);box-shadow:0 14px 26px rgba(0,0,0,0.28);background:linear-gradient(120deg,#ff6d6d,#d92525)}
.admin-menu-icon{position:relative;width:20px;height:2px;background:currentColor;border-radius:99px;display:inline-block}
.admin-menu-icon::before,.admin-menu-icon::after{content:"";position:absolute;left:0;width:20px;height:2px;background:currentColor;border-radius:99px;transition:transform .2s ease}
.admin-menu-icon::before{top:-6px}
.admin-menu-icon::after{top:6px}
.admin-menu-label{font-size:.75rem;letter-spacing:.08em}
.admin-sidebar-title{font-weight:700;margin-bottom:.6rem;color:var(--brand-gold-2)}
.admin-nav{display:flex;flex-direction:column;gap:.35rem}
.admin-link{display:block;padding:.5rem .7rem;border-radius:8px;color:rgba(255,255,255,0.9);text-decoration:none;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.06)}
.admin-link:hover{background:rgba(183,138,56,0.08);text-decoration:none}
.admin-offcanvas{background:linear-gradient(180deg, rgba(6,22,41,0.96), rgba(2,9,18,0.98));color:rgba(240,246,252,0.95);border-left:1px solid rgba(255,255,255,0.05)}
.admin-offcanvas .offcanvas-header{border-bottom:1px solid rgba(255,255,255,0.08);color:var(--brand-gold-2)}
.admin-offcanvas .offcanvas-title{font-weight:700;letter-spacing:.03em}
.admin-offcanvas .btn-close{filter:invert(1);opacity:.7}
.admin-offcanvas .offcanvas-body{padding-top:1.25rem}
.admin-offcanvas .admin-sidebar-card{background:linear-gradient(180deg, rgba(11,55,104,0.55), rgba(3,17,32,0.78));border:1px solid rgba(255,255,255,0.07);box-shadow:0 20px 40px rgba(3,10,20,0.45)}
.admin-offcanvas .admin-link{margin-bottom:.4rem}
.admin-products-table th{color:rgba(255,255,255,0.82)}
.admin-products-table td{color:rgba(255,255,255,0.9)}
.admin-products-table .text-muted{color:rgba(255,255,255,0.65) !important}
.admin-product-thumb{width:56px;height:56px;border-radius:10px;object-fit:cover;border:1px solid rgba(255,255,255,0.12);background:rgba(255,255,255,0.04)}

@media (max-width: 768px){
  .admin-products-table thead{display:none}
  .admin-products-table tbody tr{display:block;border:1px solid rgba(255,255,255,0.08);border-radius:12px;margin-bottom:.9rem;padding:.6rem}
  .admin-products-table tbody td{display:flex;justify-content:space-between;gap:.8rem;padding:.35rem .2rem}
  .admin-products-table tbody td::before{content:attr(data-label);color:rgba(255,255,255,0.65);font-weight:600}
  .admin-products-table tbody td.text-end{justify-content:flex-end}
  .admin-products-table tbody td.text-end::before{display:none}
  .admin-products-table .admin-product-thumb{width:72px;height:72px}
}

@media (max-width: 992px){
  .admin-header{position:relative;flex-direction:column;align-items:flex-start;padding-right:4.6rem}
  .admin-header-text{width:100%}
  .admin-header-actions{width:100%;padding-top:.5rem;flex-wrap:wrap}
  .admin-header-actions .btn:not(.admin-menu-toggle){flex:0 0 auto}
  .admin-menu-toggle{position:fixed;top:84px;right:14px;z-index:1020;padding:.65rem .75rem;min-width:54px;justify-content:center;border-radius:18px;border:1px solid rgba(255,255,255,0.25);background:linear-gradient(140deg,#ff6161,#c80000);box-shadow:0 12px 30px rgba(0,0,0,0.4)}
  .admin-menu-toggle .admin-menu-label{opacity:0;max-width:0;overflow:hidden;white-space:nowrap;transition:opacity .25s ease,max-width .25s ease,margin-right .25s ease}
  .admin-menu-toggle:hover,
  .admin-menu-toggle:focus-visible{width:170px;justify-content:flex-end}
  .admin-menu-toggle:hover .admin-menu-label,
  .admin-menu-toggle:focus-visible .admin-menu-label{opacity:1;max-width:130px;margin-right:.4rem}
}

/* make cookie banner match theme */
.cookie-banner{background:transparent;color:rgba(240,246,252,0.95)}
.cookie-banner .btn-primary{background:linear-gradient(90deg,var(--brand-gold-1),var(--brand-gold-2));color:var(--brand-blue)}

/* accessibility: focus outlines using gold */
:focus{outline:3px solid rgba(183,138,56,0.18);outline-offset:3px}

/* Toasts */
.app-toasts{z-index:1080}
.toast{border-radius:12px;box-shadow:0 12px 30px rgba(2,8,18,0.45)}
.toast .toast-body{font-weight:600}
.toast-success{background:linear-gradient(90deg,#d5f2df,#bdf0c9) !important;color:#000 !important}
.toast-danger{background:linear-gradient(90deg,#ffd6d6,#ffb3b3) !important;color:#7a1c1c !important}
.toast-warning{background:linear-gradient(90deg,#fff2c2,#ffe08a) !important;color:#7a5b00 !important}
.toast-success *{color:#000 !important}
.toast-danger *{color:#7a1c1c !important}
.toast-warning *{color:#7a5b00 !important}
.shop-sidebar-hidden #shop-sidebar{display:none !important}
.shop-sidebar-hidden #shop-products{flex:0 0 100%;max-width:100%}
.toast .btn-close{filter:none}
