html {
    height: 100%;
}

body {
    background: url('/static/images/amen-corne-the-masters.jpg') no-repeat center center fixed;
    background-size: cover;
    height: calc(100vh - 164px);
    color: #555;
    font-family: 'Lato';
}

/* from Bulma */
.icon {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    height: 1.5rem;
    width: 1.5rem;
}

.logo-font {
    text-transform: uppercase;
    font-family: 'Playfair Display', serif;
    font-weight: bold;
    color: #006400; /* Dark green */
}

/* to change the color of the text in the banner */

.free-shipping-text {
  color: white;
}

/* change the depth of the banner */

#delivery-banner .col {
  padding: 0.0625rem 0; /* 20px top and bottom padding */
}

.main-logo-link {
    width: fit-content;
}

#green-jacket-logo {
    height: 2.5rem;
    margin-right: 0.625rem;
}

/* css for drop down menu tabs */
/* Full reset for dropdown menu */

.dropdown-menu {
    padding: 0 !important;
    margin: 0 !important;
    background-color: #811c7a !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* Tighten individual dropdown items */

.dropdown-menu .dropdown-item {
    padding: 0.5rem 1rem !important; /* restore consistent spacing */
    margin: 0 !important;
    background-color: #811c7a !important;
    color: white !important;
    transition: background-color 0.3s, color 0.3s;
    border: none !important;
}

/* Hover styles */

.dropdown-menu .dropdown-item:hover,
.dropdown-menu .dropdown-item:focus {
    background-color: white !important;
    color: black !important;
    border: none !important;
}

.home-title {
    background:  #3b4f68;
    color: white;
    min-width: 16.25rem;
    padding: 1.5rem;       /* similar to .py-3 in Bootstrap */
    text-align: center;
    margin-bottom: 1.5rem; /* optional spacing from next element */
}

.shop-now-button {
    background: #3b4f68;
    color: white;
    min-width: 16.25rem;
}

.btn-black {
    background: #3b4f68;
    color: white;
}

.btn-outline-black {
    background: white;
    color: black !important; /* use important to override link colors for <a> elements */
    border: 0.0625rem solid black;
}

.btn-outline-black:hover,
.btn-outline-black:active,
.btn-outline-black:focus {
    background: black;
    color: white !important;
}

.shop-now-button:hover,
.shop-now-button:active,
.shop-now-button:focus,
.btn-black:hover,
.btn-black:active,
.btn-black:focus {
    background: #811c7a;
    color: white;
}

.text-black {
    color: #000 !important;
}

.border-black {
    border: 0.0625rem solid black !important;
}

.bg-black {
    background:  #3b4f68 !important;
}

/* who we are page to push footer down */

.about {
    min-height: 100vh;
    padding-top: 9.375rem;
}

/* style for google maps */

#google-map {
    width: 100%;
    border: 0;
}

/* custom hover for itmes page */

.hover-shadow {
  transition: all 0.3s ease-in-out;
  border-radius: 0.5rem;            /* add rounded corners */
  box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.35);
  border: 0.125rem solid #3b4f68; /* strong black border */
}

.hover-shadow:hover {
  box-shadow: 0 0.75rem 1.5rem rgba(0, 0, 0, 0.35);
  transform: scale(1.04);
}

/* For no-hover elements — bigger shadow always, NO hover effect */

.no-hover.hover-shadow {
  box-shadow:  0 0.75rem 1.5rem rgba(0, 0, 0, 0.50);  /* bigger shadow by default */
  transition:  none !important;                       /* disable transition      */
}

.no-hover.hover-shadow:hover {
  box-shadow: 0 0.75rem 1.5rem rgba(0, 0, 0, 0.50) !important; /* same shadow on hover */
  transform: none !important; /* disable scale */
}

.table-bordered thead.thead-dark th {
    border-color: #3b4f68 !important;
}

.no-border {
    border: none !important;
    box-shadow: none !important;
}

.checkout-buttons-wrapper {
    margin-top: 5rem;
}

#about-page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding-top: 9.375rem;
  padding-right: 1.25rem;
  padding-bottom: 0rem;
  padding-left: 1.25rem;
}

#about-page .centered-image {
  max-width: 100%;
  height: auto;
  margin-bottom: 1rem;
}

#about-page .centered-button {
  margin-top: 1rem;
}

#edit-page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 9.375rem 1.25rem 0 1.25rem;
}

#edit-box {
  background-color: #f9f9f9;
  border: 0.125rem solid #084998;
  border-radius: 0.5rem;
  padding: 2rem;
  max-width: 37.5rem;
  box-shadow: 0 0.25rem 0.5rem rgba(0,0,0,0.1);
}

#edit-box h2 {
  margin-bottom: 1rem;
  font-size: 2rem;
  color: #222;
}

#edit-box form textarea {
  width: 100%;
  padding: 1rem;
  font-size: 1rem;
  margin-bottom: 1.5rem;
  border: 1px solid #ccc;
  border-radius: 0.25rem;
}

#edit-box form .button-row {
  display: flex;
  gap: 1rem;
  justify-content: center;
}

#edit-box form button,
#edit-box form a {
  padding: 0.5rem 1.5rem;
  font-size: 1rem;
  border-radius: 0.25rem;
  text-decoration: none;
  cursor: pointer;
  border: none;
  transition: background-color 0.3s ease;
}

#edit-box form button {
  background-color: #dc3545; 
  color: white;
}

#edit-box form button:hover {
  background-color: #b02a37;
}

#edit-box form a {
    color: #fff !important;
    background-color: #3b4f68 !important;
    border-color:#3b4f68 !important;
}

#edit-box form a:hover {
   background-color: #084998 !important;
}

#delete-page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding-top: 9.375rem;
  padding-right: 1.25rem;
  padding-bottom: 0rem;
  padding-left: 1.25rem;
}

#delete-box {
  background-color: #f9f9f9;                    /* light gray background */
  border: 0.125rem solid #084998;               /* blue border */
  border-radius: 0.5rem;                          /* rounded corners */
  padding: 2rem;                                  /* spacing inside */
  max-width: 37.5rem;                             /* width limit */
  margin: 2rem auto;                              /* center horizontally with margin */
  box-shadow: 0 0.25rem 0.5rem rgba(0,0,0,0.1); /* subtle shadow */
  color: #333;                                  /* dark text */
  text-align: center;                             /* center text */
}

#delete-page form button,
#delete-page form a {
  padding: 0.5rem 1.5rem;
  font-size: 1rem;
  border-radius: 0.25rem;
  text-decoration: none;
  cursor: pointer;
  border: none;
  transition: background-color 0.3s ease;
}

#delete-page form button {
  background-color: #dc3545; /* bootstrap danger red */
  color: white;
}

#delete-page form button:hover {
  background-color: #b02a37;
}

#delete-page form a {
  background-color: #3b4f68; /* bootstrap secondary gray */
  color: white;
}

#delete-page form a:hover {
  background-color: #084998;
}

/* item delete page */

#item {
  min-height: 100vh;
  color: white;
  display: flex;
  justify-content: center;   /* vertical centering */
  align-items: center;       /* horizontal centering */
  padding: 2rem;
  text-align: center;
}

/* style for current image of edit item */

#current-image {
    max-height: 12.5rem;
}

#preview-container {
    display: none;
}

#new-image-preview {
    max-height: 12.5rem;
    display: none;
}

#item-box {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: #1e2a38;
  color: white;
  border: 0.125rem solid #084998;
  border-radius: 0.5rem;
  padding: 2rem;
  max-width: 37.5rem;
  width: 90%; /* Slightly smaller than 100% for mobile screens */
  box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.2);
}

/* to keep the item name on one line in item deletion box */

.no-wrap {
  white-space: nowrap;
}

/* ID styling to keep back to clubhouse tab on small screens to left in line with other tabs */

#back-to-main {
    padding-left: 0;
}

/*  custom button style for leave a review */

a.btn.custom {
    color: #fff !important;
    background-color: #3b4f68 !important;
    border-color:#3b4f68 !important;
}

a.btn.custom:hover {
    background-color: #811c7a !important;
    border-color: #811c7a !important;
}

.overlay {
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	position: fixed;
	background: white;
	z-index: -1;
}

a.category-badge > span.badge:hover {
    background: #212529 !important;
    color: #fff !important;
}

.btt-button {
    height: 2.625rem;
    width: 2.625rem;
    position: fixed;
    bottom: 0.625rem;
    right: 0.625rem;
}

.btt-link,
.update-link,
.remove-item {
    cursor: pointer;
}

input[name='q']::placeholder {
    color: #aab7c4;
}

/* Modal backdrop covering the page */

.custom-modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.6); /* dim background */
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1050;
  padding: 1rem;                          /* Adds breathing room on smaller screens */
  box-sizing: border-box;
}

/* Centered modal box */

.custom-modal-form {
  position: relative;
  background: white;
  padding: 2rem;
  border-radius: 0.75rem;
  max-width: 37.5rem;
  width: 90%;
  box-shadow: 0 0.625rem 1.875rem rgba(0, 0, 0, 0.3);
  max-height: 90vh;
  overflow-y: auto;
}

.custom-modal-form input,
.custom-modal-form textarea {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

/* Pushes the footer to the bottom of review html */

#main-content {
  padding-top: 10.25rem;              /* push below navbar */
  min-height: calc(100vh - 5.625rem); /* full viewport minus footer */
  display: flex;
  justify-content: center;            /* horizontal center */
  align-items: center;                /* vertical center */
  box-sizing: border-box;
  padding-bottom: 1rem;
  text-align: center;
}

.review-box {
  background: rgba(255, 255, 255, 0.9); /* light translucent white */
  padding: 2rem 3rem;
  border-radius: 0.75rem;
  box-shadow: 0 0.5rem 1.5rem rgba(0,0,0,0.2);
  max-width: 31.25rem;
  width: 100%;
}

/* ------------------------------- bootstrap toasts */

.message-container {
    position: fixed;
    top: 4.5rem;
    right: 0.9375rem;
    z-index: 99999999999;
}

.custom-toast {
    overflow: visible;
}

.toast-capper {
    height: 0.125rem;
}

/* from CSS-tricks.com: https://css-tricks.com/snippets/css/css-triangle/ */

.arrow-up {
    width: 0; 
    height: 0; 
    border-left: 0.25rem solid transparent;
    border-right: 0.25rem solid transparent; 
    border-bottom: 0.625rem solid black;
    position: absolute;
    top: -0.625rem;
    right: 2.25rem;
}

/* Convenience classes - colors copied from Bootstrap */

.arrow-primary {
    border-bottom-color: #007bff !important;
}

.arrow-secondary {
    border-bottom-color: #6c757d !important;
}

.arrow-success {
    border-bottom-color: #28a745 !important;
}

.arrow-danger {
    border-bottom-color: #dc3545 !important;
}

.arrow-warning {
    border-bottom-color: #ffc107 !important;
}

.arrow-info {
    border-bottom-color: #17a2b8 !important;
}

.arrow-light {
    border-bottom-color: #f8f9fa !important;
}

.arrow-dark {
    border-bottom-color: #343a40 !important;
}

.bag-notification-wrapper {
    height: 6.25rem;
    overflow-x: hidden;
    overflow-y: auto;
}

/* -------------------------------- Media Queries */


/* Media query for small screens */

@media (max-width: 576px) {
  #item-box {
    top: 66%;
  }
}

/* Slightly larger container on xl screens */
/* Between 974px and 1199px */

@media (min-width: 974px) and (max-width: 1199px) {
  .container {
    max-width: 80%;
  }

  .footer-push-container {
    min-height: 79vh;
  }
}

/* From 1200px and above */

@media (min-width: 1200px) {
  .container {
    max-width: 80%;
    /* other styles if needed */
  }

  .footer-push-container {
    min-height: 88vh;
  }
}

/* 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 */
}

/* Item Form */

.btn-file {
    position: relative;
    overflow: hidden;
}

.btn-file input[type="file"] {
    position: absolute;
    top: 0;
    right: 0;
    min-width: 100%;
    min-height: 100%;
    opacity: 0;
    cursor: pointer;
}

.custom-checkbox .custom-control-label::before {
    border-radius: 0;
    border-color: #dc3545;
}

.custom-checkbox .custom-control-input:checked~.custom-control-label::before {
    background-color: #dc3545;
    border-color: #dc3545;
    border-radius: 0;
}

.container-base {
    background-image: url("/static/images/amen-corne-the-masters.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    min-height: 100vh;

    display: flex;
    justify-content: center;
    align-items: center;
}

/* Form content box styling */

.form-box {
  background-color: white;
  padding: 2rem;
  border-radius: 0.5rem;
  box-shadow: 0 0.25rem 0.625rem rgba(0,0,0,0.1);
  width: 75vw;      
  height: auto;      
  display: flex;
  flex-direction: column;
  justify-content: center;
  box-sizing: border-box;
  max-width: 37.5rem;
  margin-left: auto;
  margin-right: auto;
}

/* Footer styling */

footer {
    background: #3b4f68;
    /* Let the body background show through */
    padding: 0.625rem 0;
    /* Add some spacing */
    text-align: center;
    height: 5.625rem;
}

#social-networks {
    text-align: center;
    display: flex;
    justify-content: space-evenly;
    list-style: none;
    margin: 0;
    padding: 0;
    
}

#social-networks i {
    font-size: 160%;
    padding: 5%;
}

/* Specific platform colors */

#social-networks .facebook i {
    color: white;
    /* Facebook blue */
}

#social-networks .twitter i {
    color: white;
    /* Twitter blue */
}

#social-networks .youtube i {
    color: white;
    /* YouTube red */
}

#social-networks .instagram i {
    color: white;
    /* Instagram orange */
}

/* fixed top navbar only on medium and up */

@media (min-width: 992px) {
    .fixed-top-desktop-only {
        position: fixed;
        top: 0;
        right: 0;
        left: 0;
        z-index: 1030;
    }

    .header-container {
        padding-top: 10.25rem;   
    }
}

/* pad the top a bit when navbar is collapsed on mobile & logout page footer */

@media (max-width: 991px) {
    .header-container {
        padding-top: 7.25rem;
    }

    body {
        height: calc(100vh - 116px);
    }

    .display-4.logo-font.text-black {
        font-size: 2rem;
    }

    .nav-link {
        padding: 0.15rem;
    }

    .nav-link i.fa-lg {
        font-size: 1rem;
    }

    .navbar-toggler {
        padding: .6rem .6rem;
        font-size: 1rem;
    }

    #delivery-banner h4 {
        font-size: 1.5rem;
    }

    .btn.btn-outline-black.rounded-0,
    .btn.btn-black.rounded-0 {
        padding: .375rem .375rem;
    }

    .btn.btn-outline-black.rounded-0.btn-lg,
    .btn.btn-black.rounded-0.btn-lg {
        padding: .375rem .375rem;
        font-size: .75rem;
    }

    .increment-qty, .decrement-qty {
        padding: .25rem .5rem !important;
    }
}