/* @font-face for "Myriad Pro" — required so the browser can load the font
   files instead of falling back to sans-serif on machines where Myriad Pro
   is not installed locally. */
@font-face
{
	font-family : "Myriad Pro";
	font-style  : normal;
	font-weight : 400;
	src         : local("Myriad Pro"), local("MyriadPro-Regular"),
	url("/.assets/fonts/MYRIADPRO-REGULAR.woff") format("woff");
}

@font-face
{
	font-family : "Myriad Pro";
	font-style  : normal;
	font-weight : 600;
	src         : local("Myriad Pro Semibold"), local("MyriadPro-Semibold"),
	url("/.assets/fonts/MYRIADPRO-SEMIBOLD.woff") format("woff");
}

@font-face
{
	font-family : "Myriad Pro";
	font-style  : normal;
	font-weight : 700;
	src         : local("Myriad Pro Bold"), local("MyriadPro-Bold"),
	url("/.assets/fonts/MYRIADPRO-BOLD.woff") format("woff");
}

/* Flex row for modal content */
.premier-modal-content.flex-row
{
	display        : flex;
	flex-direction : row;
	gap            : 24px;
	align-items    : flex-start;
}

/* Center header text in modal */
.premier-header-center
{
	flex        : 1;
	text-align  : center;
	font-size   : 18px;
	font-weight : 600;
	font-family : "Myriad Pro", sans-serif;
}

/* Premier Overlay Styles */
.premier-modal-overlay
{
	font-family     : "Myriad Pro", sans-serif;
	position        : fixed;
	top             : 0;
	left            : 0;
	width           : 100%;
	height          : 100%;
	background      : rgba(0, 0, 0, 0.5);
	z-index         : 1000;
	display         : none;
	justify-content : center;
	align-items     : center;
}

.premier-modal-overlay.premier-show-modal
{
	display : flex;
}

/* Premier Modal Container */
.premier-modal-container
{
	background    : #FFF;
	width         : 90%;
	max-height    : 90vh;
	overflow-y    : auto;
	border-radius : 6px;
	font-family   : "Myriad Pro", sans-serif;
}

/* Half-width modal container for shipping confirmation */
.premier-modal-container-half
{
	background    : #FFF;
	width         : 40%;
	max-height    : 90vh;
	overflow-y    : auto;
	border-radius : 6px;
	font-family   : "Myriad Pro", sans-serif;
}

/* Premier Header */
.premier-modal-header
{
	background      : #005A9E;
	color           : #FFF;
	display         : flex;
	align-items     : center;
	padding         : 12px 16px;
	justify-content : space-between;
}

.premier-modal-header h2
{
	flex        : 1;
	text-align  : center;
	font-size   : 18px;
	margin      : 0;
	font-weight : 600;
}

.premier-icon-button, .premier-modal-close
{
	background    : none;
	border        : none;
	color         : #FFF;
	font-size     : 18px;
	cursor        : pointer;
	width         : 32px;
	height        : 32px;
	display       : grid;
	place-items   : center;
	border-radius : 999px;
	border        : 1px solid rgba(255, 255, 255, 0.35);
	background    : rgba(255, 255, 255, 0.08);
}

.premier-icon-button:hover
{
	background : rgba(255, 255, 255, 0.16);
}

.premier-modal-close
{
	font-size : 22px;
}

/* Premier Body */
.premier-modal-body
{
	padding  : 20px;
	overflow : hidden;
}

.premier-modal-intro, .premier-modal-description
{
	margin-bottom : 20px;
	color         : #333;
	line-height   : 1.5;
	font-size     : 14px;
}

.premier-modal-message
{
	margin      : 0 0 14px;
	color       : #333;
	font-size   : 13px;
	line-height : 1.45;
}

.premier-help-block
{
	margin-top  : 6px;
	color       : #333;
	font-size   : 13px;
	line-height : 1.45;
}

.premier-help-block strong
{
	display       : inline-block;
	margin-bottom : 4px;
}

/* Content Layout */
.premier-gift-section
{
	width      : 40%;
	min-width  : 220px;
	box-sizing : border-box;
	flex       : 1;
}

.premier-radio-label
{
	display : flex;
	gap     : 8px;
	cursor  : pointer;
}

.premier-radio-label input
{
	margin-top : 4px;
}

.premier-link
{
	display         : inline-block;
	margin-top      : 8px;
	color           : #005A9E;
	text-decoration : none;
}

/* Gift Grid */
.premier-gift-grid
{
	display               : grid;
	grid-template-columns : repeat(auto-fit, minmax(180px, 1fr));
	gap                   : 24px;
	align-items           : end;
}

.premier-gift-card
{
	display         : flex;
	flex-direction  : column;
	align-items     : center;
	justify-content : flex-start;
	text-align      : center;
	gap             : 12px;
	margin-top      : 8px;
	min-height      : 340px; /* Ensures all cards are the same height, adjust as needed */
	box-sizing      : border-box;
	overflow        : hidden;
	max-width       : 100%;
}

.premier-gift-card h3
{
	font-size   : 14px;
	font-weight : 600;
	margin      : 8px 0;
}

.premier-gift-card p
{
	font-size     : 12px;
	color         : #666;
	margin-bottom : 12px;
}

.premier-gift-details p
{
	margin : 4px 0 0;
	color  : #444;
}

/* Product Grid Styles from PremierModalShowGifts.cfm */
.product-grid
{
	display               : grid;
	grid-template-columns : repeat(5, 1fr);
	gap                   : 20px;
	padding               : 0 20px;
	overflow              : hidden;
}

.product-card
{
	display        : flex;
	flex-direction : column;
	text-align     : center;
	overflow       : hidden;
	max-width      : 100%;
}

.product-card img
{
	height        : 120px;
	object-fit    : contain;
	margin-bottom : 12px;
}

.product-card h3
{
	font-size   : 14px;
	font-weight : bold;
	margin      : 0 auto 10px auto;
}

.product-card p
{
	font-size     : 12px;
	color         : #555;
	line-height   : 1.4;
	margin-bottom : auto;
}

.product-card button
{
	padding       : 8px 12px;
	background    : #1A9B3A;
	color         : #FFF;
	border        : none;
	border-radius : 4px;
	font-size     : 12px;
	cursor        : pointer;
	width         : fit-content;
	margin        : 15px auto 0 auto;
}

.product-card button:hover
{
	background : #158030;
}

.premier-gift-card img
{
	width         : 100%;
	height        : 120px;
	object-fit    : contain;
	margin-bottom : 12px;
}

/* Premier Buttons */
.premier-btn-outline
{
	background    : #FFF;
	border        : 2px solid #1A9E55;
	color         : #1A9E55;
	padding       : 8px 16px;
	border-radius : 4px;
	cursor        : pointer;
	font-family   : "Myriad Pro", sans-serif;
	font-size     : 16px;
	font-style    : normal;
	font-weight   : 600;
	line-height   : normal;
}

.premier-btn-primary, .premier-gift-btn
{
	background    : #1A9E55;
	border        : none;
	color         : #FFF;
	padding       : 8px 16px;
	border-radius : 4px;
	cursor        : pointer;
}

.premier-gift-btn
{
	margin-top : auto; /* Aligns button to the bottom of the card */
}

.premier-gift-btn:hover
{
	background : #157532;
}

/* Premier Footer */
.premier-modal-footer
{
	display         : flex;
	justify-content : flex-end;
	gap             : 12px;
	padding         : 16px;
	border-top      : 1px solid #DDD;
}

/* Premier Form Fields */
.premier-field
{
	margin : 12px 0;
}

.premier-label
{
	display       : block;
	color         : #6B7280;
	margin-bottom : 6px;
	font-family   : Myriad Pro;
	font-weight   : 400;
	font-size     : 16px;
}

.premier-input, .premier-select
{
	width         : 100%;
	height        : 38px;
	padding       : 8px 10px;
	border        : 1px solid #CFD6DE;
	border-radius : 3px;
	font-size     : 15px;
	color         : #1B1F24;
	outline       : none;
	background    : #FFF;
	box-sizing    : border-box;
}

.premier-input::placeholder
{
	color : #9AA3AF;
}

.premier-input:focus, .premier-select:focus
{
	border-color : #7AA7C7;
	box-shadow   : 0 0 0 3px rgba(11, 92, 141, 0.15);
}

.premier-grid-2
{
	display               : grid;
	grid-template-columns : 1fr 1fr;
	gap                   : 14px;
}

/* Address Section Customization */
.premier-address-choice
{
	display       : flex;
	align-items   : center;
	gap           : 12px;
	margin-bottom : 12px;
}

.premier-address-radio
{
	flex          : 0 0 24px;
	margin-right  : 8px;
	margin-bottom : 100px;
	transform     : scale(1.2);
}

.premier-address-text
{
	display        : flex;
	flex-direction : column;
}

.premier-address-name
{
	font-weight   : bold;
	font-size     : 15px;
	margin-bottom : 2px;
}

.premier-address-lines
{
	font-size : 13px;
	color     : #444;
}

.premier-address-link
{
	display         : inline-block;
	margin-top      : 8px;
	color           : #005A9E;
	text-decoration : underline;
	font-size       : 13px;
	cursor          : pointer;
}

/* Gift Section Customization */
.premier-gift-label
{
	font-weight   : bold;
	margin-bottom : 6px;
	font-size     : 14px;
}

.premier-gift-row
{
	display     : flex;
	gap         : 12px;
	align-items : flex-start;
}

.premier-gift-thumb img
{
	width         : 80px;
	height        : 80px;
	object-fit    : cover;
	border-radius : 4px;
}

.premier-gift-meta
{
	display         : flex;
	flex-direction  : column;
	justify-content : center;
}

.premier-gift-title
{
	font-weight   : bold;
	font-size     : 15px;
	margin-bottom : 4px;
}

.premier-gift-desc
{
	font-size : 13px;
	color     : #666;
}

/* Responsive */
@media (max-width : 520px)
{
	.premier-modal-container
	{
		width : 100%;
	}
	
	.premier-modal-container-half
	{
		width     : 100%;
		max-width : 100%;
	}
	
	.premier-grid-2
	{
		grid-template-columns : 1fr;
	}
}

.premier-header-font
{
	color       : #FFF;
	text-align  : center;
	font-family : "Myriad Pro", sans-serif;
	font-size   : 28px;
	font-style  : normal;
	font-weight : 700;
	line-height : normal;
}

.premier-text-font
{
	color       : #272727;
	font-family : "Myriad Pro", sans-serif;
	font-size   : 18px;
	font-style  : normal;
	font-weight : 400;
	line-height : normal;
}

.premier-product-headers
{
	color       : #272727;
	font-family : "Myriad Pro", sans-serif;
	font-size   : 18px;
	font-style  : normal;
	font-weight : 600;
	line-height : normal;
	
	display     : block;
	text-align  : center;
	margin      : 0.5em 0;
}

.premier-product-description
{
	color         : #272727;
	font-family   : "Myriad Pro", sans-serif;
	font-size     : 14px;
	font-style    : normal;
	font-weight   : 400;
	line-height   : normal;
	overflow-wrap : break-word;
	word-wrap     : break-word;
	word-break    : break-word;
	max-width     : 100%;
	padding       : 0 4px;
}

.premier-address-section
{
	color       : #272727;
	font-family : "Myriad Pro", sans-serif;
	font-size   : 16px;
	font-style  : normal;
	font-weight : 400;
	line-height : normal;
	width       : 50%;
	min-width   : 220px;
}

.premier-address-section-bold
{
	color       : #272727;
	font-family : "Myriad Pro", sans-serif;
	font-size   : 16px;
	font-style  : normal;
	font-weight : 600;
	line-height : normal;
}

.premier-address-section-link
{
	color   : #005189 !important;
	padding : 10px 0 0 0;
}

.premier-address-section-link:hover
{
	text-decoration : underline;
}

.premier-address-headings
{
	color       : #68737A;
	font-family : "Myriad Pro", sans-serif;
	font-size   : 16px;
	font-style  : normal;
	font-weight : 400;
	line-height : normal;
}

#firstTime
{
	z-index : 1050;
}

#giftModalOverlay
{
	z-index : 1100;
}

.modal-backdrop
{
	z-index : 1020;
}

/* Ensure the Change Address modal overlay stays above all other modals
   when re-asserted after validation failure. This prevents the user from
   being visually redirected back to the Confirm Shipping modal. */
#giftModalOverlay.premier-show-modal
{
	z-index : 1200;
}

/* Form container within Change Address modal - prevent content overflow */
.premier-form
{
	width      : 100%;
	box-sizing : border-box;
	overflow   : hidden;
}