		/* --- BASE RESET & GLOBAL STYLES --- */
		* {
			box-sizing: border-box;
			margin: 0;
			padding: 0;
		}
		
		html {
			scroll-behavior: smooth;
		}

		img {
			max-width: 100%;
			height: auto;
			display: block;
		}

		/* GOOGLE FONTS */
		/* GOOGLE FONTS */

		body {
		    background-color: #000000;
		    font-family: "Inter", sans-serif;
		    color: #333333;
		    display: flex;
		    justify-content: center;
		    padding: 20px 10px;
		}
		
		/* --- MAIN CONTAINER (960px MAX WIDTH) --- */
		.site-container {
			width: 100%;
			max-width: 900px;
			display: flex;
			flex-direction: column;
			gap: 25px;
		}
		
		/* --- ROW BASE LAYOUT --- */
		.row {
			width: 100%;
			display: flex;
			flex-direction: column;
		}
		
		/* Alignment Helper Classes */
		.centered {
			text-align: center;
			align-items: center;
		}
		
		.left-aligned {
			text-align: left;
			align-items: flex-start;
		}
		
		/* --- ROW 1: HEADER & LOGO --- */
		.row-1 .logo-box {
		/*		background-color: #000000;
			border: 2px solid #ffffff;
			padding: 30px 20px;*/
			max-width: 100%; /* Keeps box contained within 960px container */
			box-sizing: border-box;
		}
		
		.care-instructions {
			font-size: 0.95rem;
			line-height: 1.5;
			color: #cccccc;
		}
		
		/* --- WHITE CARD AREA (ROWS 2 - 5) --- */
		.white-card {
  background-image: url('/gr/ruler_graphic_for_tup2.jpg');
  background-position: top center;
  background-repeat: no-repeat;
			background-color: #ffffff;
			color: #4d4d4d;
			border-radius: 12px;
			padding: 30px;
			display: flex;
			flex-direction: column;
			gap: 25px;
		    font-family: "Open Sans", sans-serif;
		}
		
		.row-2 h2 {
		/*		font-size: 1.5rem;*/
			margin-bottom: 8px;
		}
		
		/* --- HALF-WIDTH ROWS 3 & 4 WRAPPER --- */
		.half-row-container {
			display: flex;
			flex-direction: row;
			width: 100%;
			gap: 20px;
		}
		
		.row-3, 
		.row-4 {
			flex: 1; /* Automatically takes up 50% width on desktop */
			justify-content: center;
		}
		
		.italic-graphic {
			font-style: italic;
			font-size: 1.3rem;
		}
		
		.product-form {
			display: flex;
			flex-direction: column;
			width: 100%;
			max-width: 240px;
			gap: 8px;
			text-align: left;
		}
		
		.product-form select {
			padding: 8px;
			border: 1px solid #ccc;
			border-radius: 4px;
		}
		
		.btn-out-of-stock {
			margin-top: 10px;
			padding: 10px;
			background-color: #888888;
			color: #ffffff;
			border: none;
			border-radius: 8px;
			cursor: not-allowed;
			font-weight: bold;
		}
		
		/* --- ROW 5: DESCRIPTION --- */
		.row-5 p {
			font-size: 0.9rem;
			line-height: 1.6;
			margin: 15px;
			color: #333333;
		}
		
		/* --- ROWS 6, 7, 8 (BLACK BACKGROUND AREA) --- */
		.row-6 {
			gap: 12px;
			font-size: 1.1rem;
		}
		
		.row-6 a,
		.row-8 a {
			color: #ffffff;
		}
		
		.bold-text {
			font-weight: bold;
		}
		
		/* Row 7: Graphic Images Flex Grid */
		.gallery-grid {
			display: flex;
			justify-content: center;
			gap: 20px;
			width: 100%;
			flex-wrap: wrap;
		}
		
		.gallery-item {
			width: 160px;
			height: 160px;
			border-radius: 12px;
			display: flex;
			align-items: center;
			justify-content: center;
			font-weight: bold;
		}
		
		.item-1 { background-color: #111; border: 1px solid #fff; }
		.item-2 { background-color: #0d47a1; color: #fff; }
		.item-3 { background-color: #f5f0eb; color: #0d47a1; }
		
		/* Row 8: Footer */
		.row-8 {
			margin-top: 10px;
			font-size: 0.8rem;
			color: #888888;
			gap: 8px;
		}
		
		.row-8 a {
			color: #888888;
			text-decoration: none;
		}
		
		/* --- RESPONSIVE BREAKPOINT (MOBILE VIEWPORTS) --- */
		@media (max-width: 768px) {
			/* Stacks Row 3 on top of Row 4 automatically */
			.half-row-container {
					flex-direction: column;
			}
			
			.logo-title {
					font-size: 2rem;
			}
		}

		.shirt_month {
			font-size: 36px;
			font-weight: bold;
			text-transform: uppercase;
			padding-bottom: 10px;
		}

		.shirt_name {
			font-size: 30px;
			color: #088e5e;
		}

		/* FOOTER TEXT */
	
		.footer_text {
			margin-top: 10px;
			font-size: 22px;
			letter-spacing: 4px;
			color: #cccccc;
			width: 100%;
			max-width: 900px;
		}
	
		.footer_text_nav {
			margin-top: 10px;
			font-size: 14px;
			letter-spacing: 0px;
			color: #cccccc;
			font-weight: bold;
			width: 100%;
			max-width: 900px;
		}
	
		.footer_text_nav a {
			color: #cccccc;
			transition:color 0.18s ease-in-out;
		}

		.footer_text_nav a:hover {
			color: #ffffff;
		}

		/* THUMB ROW */
		
		.thumb-row {
			display: flex;
			justify-content: center;
			align-items: center;
			gap: 40px;
			flex-wrap: wrap;
			margin-bottom: 40px;
		}
		
		/* THUMB */
		
		.thumb {
			position: relative;
			width: 200px;
			height: 200px;
			overflow: hidden;
			transition: all 0.3s ease;
			display: block;
		}
		
		.thumb_available {
			position: relative;
			width: 200px;
			height: 200px;
			overflow: hidden;
			transition: all 0.3s ease;
			display: block;
		}
		
		.thumb img {
			width: 100%;
			height: 100%;
			object-fit: cover;
			transition: all 0.3s ease;
		}
		
		.thumb_available img {
			width: 100%;
			height: 100%;
			object-fit: cover;
			transition: all 0.3s ease;
		}
		
		.thumb2 {
			position: relative;
			width: 200px;
			height: 200px;
			overflow: hidden;
			transition: all 0.3s ease;
			display: block;
		}
		
		.thumb2 img {
			width: 100%;
			height: 100%;
			object-fit: cover;
			transition: all 0.3s ease;
		}
		
		/* DARK OVERLAY */
		
		.thumb::after {
			content: \'\';
			position: absolute;
			inset: 0;
			background: rgba(0,0,0,0);
			transition: all 0.3s ease;
			z-index: 1;
		}
		
		.thumb2::after {
			content: \'\';
			position: absolute;
			inset: 0;
			background: rgba(0,0,0,0);
			transition: all 0.3s ease;
			z-index: 1;
		}
		
		/* LOCK ICON */
		
		.thumb .lock {
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-50%, -50%);
			font-size: 52px;
			color: #fff;
			opacity: 0;
			transition: all 0.3s ease;
			z-index: 2;
		}
		
		.thumb2 .lock {
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-50%, -50%);
			font-size: 52px;
			color: #fff;
			opacity: 0;
			transition: all 0.3s ease;
			z-index: 2;
		}
		
		/* HOVER EFFECT */
		
		.thumb:hover {
/*		width: 200px;
			height: 200px;*/
		}
		
		.thumb:hover::after {
			background: rgba(0,0,0,0.8);
		}
		
		.thumb:hover .lock {
			opacity: 1;
		}

		.thumb2:hover {
/*		width: 200px;
			height: 200px;*/
		}
		
		.thumb2:hover::after {
			background: rgba(0,0,0,0.8);
		}
		
		.thumb2:hover .lock {
			opacity: 1;
		}

		/* Center the custom SweetAlert image */
		.swal-icon--custom {
		  display: block;
		  margin-left: auto;
		  margin-right: auto;
		  text-align: center;
		}
		
		.swal-icon img {
		  display: block;
		  margin: 0 auto;
		}
		
		/* Full Width Form Block */
		.form-cell {
		    width: 100%;
		    border-top: 1px solid #eeeeee;
		    padding-top: 30px;
		}
		
		.form-cell h3 {
		    margin-bottom: 20px;
		}
		
		.form-group {
		    margin-bottom: 15px;
		}
		
		.form-group label {
		    display: block;
		    margin-bottom: 5px;
		    font-weight: bold;
		}
		
		.form-group input, 
		.form-group textarea {
		    width: 100%;
		    padding: 10px;
		    border: 1px solid #cccccc;
		    border-radius: 5px;
		}
		
		.cccccc_line {
			color: #cccccc;
		}
		



/* Container scales to your flexbox */
.carousel-container {
  position: relative;
  width: 100%;
  max-width: 800px; /* Adjust as needed */
  margin: auto;
  overflow: hidden;
  border-radius: 8px;
  touch-action: pan-y; /* Crucial for smooth mobile swiping */
}

/* Track holds the images */
.carousel-track {
  display: flex;
  width: 100%;
  height: 444px; /* Adjust as needed */
  position: relative;
}

/* Hide images by default and apply fade transition */
.carousel-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
  pointer-events: none;
}

/* Show the active image */
.carousel-slide.active {
  opacity: 1;
  pointer-events: auto;
}

/* Hovering navigation buttons */
.carousel-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: rgba(0, 0, 0, 0.5);
  color: white;
  border: none;
  font-size: 24px;
  padding: 16px;
  cursor: pointer;
  z-index: 10;
  transition: background-color 0.3s;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Hide buttons on mobile touch devices if desired, or keep them visible */
@media (hover: hover) {
  .carousel-btn {
    opacity: 0.7;
  }
  .carousel-container:hover .carousel-btn {
    opacity: 1;
  }
}

.carousel-btn:hover {
  background-color: rgba(0, 0, 0, 0.8);
}

.prev-btn { left: 15px; }
.next-btn { right: 15px; }
