@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap');

:root {
    --primary-font: "Playfair Display", sans-serif;
    --primary-color: #798C87; 
}

body {
    background-color: var(--primary-color);
    font-family: var(--primary-font);
    text-shadow: 1px 1px 4px rgba(0,0,0,0.2);
}

h1 {
    font-family: var(--primary-font);
    text-shadow: 2px 2px 8px rgba(0,0,0,0.7);
    font-style: italic;
    color: white;
}

.hero {
            background-image: 
            linear-gradient(
                rgba(0, 0, 0, 0.7),  
                rgba(0, 0, 0, 0.2)   
            ), 
            url("/static/images/hero.jpg");
            background-position: center;
            background-size: cover;
            min-height: 100vh;
        }

/* Navbar */
.navbar-transparent {
    background-color: transparent !important;
    transition: background-color 0.4s ease; 
}

.navbar-solid {
    background-color: #2F4036 !important;
    transition: background-color 0.3s ease;
}

.navbar-brand img {
    height: 100px;
    width: auto;
}

#main-navbar .nav-link {
    font-size: 1.25rem;
}

.navbar-nav .nav-link {
    color: #fff !important;
}

.navbar-nav .nav-link:hover {
    color: #D9A796 !important;
}

/* Cart */
.badge {
    font-size: 0.65rem; 
    line-height: 1;
}

.cart-wrapper {
    min-height: calc(100vh - 200px);
}

/* Toast Message*/
.message-container {
    position: fixed;
    top: 72px;
    right: 15px;
    z-index: 99999999999;
}

.custom-toast {
    overflow: visible;
}

.toast-capper {
    height: 2px;
}

.cart-notification-wrapper {
    height: 100px;
    overflow-x: hidden;
    overflow-y: auto;
}

/* Footer */
footer {
    background-color: #2F4036;
}

/* Sign up form */
.signup input {
    margin-bottom: 1rem;
}

.signup-page .container-fluid.d-flex {
  align-items: flex-start !important;  /* stop vertical centering */
  min-height: auto !important;         /* override min-vh-100 */
  padding-top: 8rem !important;   /* space below navbar */
  padding-bottom: 2rem; /* space above footer */
}

.checkout-success {
    padding: 5rem !important;
}


/* Allauth form formatting */

.allauth-form-inner-content p {
    margin-top: 1.5rem; /* mt-4 */
    color: #6c757d; /* text-secondary */
}

.allauth-form-inner-content input {
    border-color: #000;
    border-radius: 0;
}

.allauth-form-inner-content label:not([for='id_remember']) {
    display: none;
}

.allauth-form-inner-content input::placeholder {
    color: #aab7c4;
}

.allauth-form-inner-content button,
.allauth-form-inner-content input[type='submit'] {
	/* btn */
	display: inline-block;
    font-weight: 400;
    color: #fff;
    text-align: center;
    vertical-align: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    background-color: #000;
    border: 1px solid #000;
    padding: .375rem .75rem;
    font-size: 1rem;
    line-height: 1.5;
    border-radius: 0;

    /* standard bootstrap btn transitions */
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

.allauth-form-inner-content button:hover,
.allauth-form-inner-content input[type='submit']:hover {	
	color: #fff;
    background-color: #222;
    border-color: #222;
}

.allauth-form-inner-content a {
	color: #17a2b8; /* text-info */
}

/* discount */
.discount-section {
            background-color: #BF8E7F;
        }

.discount-section, .alert {
    font-family: Verdana, Geneva, Tahoma, sans-serif;
}

/* landing image */
.fixed-height-img {
        height: 500px;       /* adjust as needed */
        width: 100%;         /* maintain responsiveness */
        object-fit: cover;   /* ensures aspect ratio without stretching */
    }

/* product detail image */
.product-image {
    max-width: 400px;   /* limit width */
    max-height: 400px;  /* limit height */
    width: 100%;        /* responsive within column */
    height: auto;       /* keeps aspect ratio */
    border-radius: 0px; 
    filter: drop-shadow(0 4px 8px rgba(0, 0, 0, 0.3));
}

/* product list image */
.card-img-top {
    object-fit: cover;
    height: 200px;
}

.card, .alert {
    border-radius: 0;
}

@media (max-width: 991px) {
    .sort-select-wrapper {
        padding: .50rem .5rem !important;
    }

}