@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Poppins:wght@400;600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Ubuntu:ital,wght@0,400;0,500;1,500&display=swap');

:root {

	/*========== Colors ==========*/
	/* favorite color */
	--hue-color: 250;

	/* HSL color mode */
	--primary-color: #FF69B4;
	--primary-color-lighter: #FFB6C1;
	--second-color: hsl(350, 43%, 43%);
	--title-color: hsl(340, 90%, 92%);
	--text-color: hsl(340, 90%, 92%);
	--text-color-light: hsl(340, 90%, 92%);
	--body-color: hsl(340, 90%, 92%);
	--scroll-bar-color: hsl(340, 90%, 92%);
	--scroll-thumb-color: hsl(340, 90%, 92%);

	--zindex: 1000;
	--noindex: 900;
}

html {
	scroll-behavior: smooth;
	overflow-y: scroll;
	overflow-x: hidden;
}

button,
input {
	border: none;
	outline: none;
}

/**----------------------------------------------
 *                SCROLL BAR
 *---------------------------------------------**/

::-webkit-scrollbar {
	width: 0.5rem;
	background-color: var(--body-color);
	border-radius: 0.5rem;
	-webkit-border-radius: 0.5rem;
	-moz-border-radius: 0.5rem;
	-ms-border-radius: 0.5rem;
	-o-border-radius: 0.5rem;
}

::-webkit-scrollbar-track {
	width: 0.5rem;
	background-color: var(--body-color);
	border-radius: 0.5rem;
	-webkit-border-radius: 0.5rem;
	-moz-border-radius: 0.5rem;
	-ms-border-radius: 0.5rem;
	-o-border-radius: 0.5rem;
}

::-webkit-scrollbar-thumb {
	background-color: var(--primary-color-lighter);
	border-radius: 0.5rem;
	-webkit-border-radius: 0.5rem;
	-moz-border-radius: 0.5rem;
	-ms-border-radius: 0.5rem;
	-o-border-radius: 0.5rem;
}

::-webkit-scrollbar-thumb:hover {
	background-color: var(--second-color);
	border-radius: 0.5rem;
	-webkit-border-radius: 0.5rem;
	-moz-border-radius: 0.5rem;
	-ms-border-radius: 0.5rem;
	-o-border-radius: 0.5rem;
}

@-webkit-keyframes fall {
	0% {
		opacity: 0.9;
		top: 0
	}

	100% {
		opacity: 0.2;
		top: 100%
	}
}

@keyframes fall {
	0% {
		opacity: 0.9;
		top: 0
	}

	100% {
		opacity: 0.2;
		top: 100%
	}
}

@-webkit-keyframes blow-soft-left {
	0% {
		margin-left: 0
	}

	100% {
		margin-left: -50%
	}
}

@keyframes blow-soft-left {
	0% {
		margin-left: 0
	}

	100% {
		margin-left: -50%
	}
}

@-webkit-keyframes blow-medium-left {
	0% {
		margin-left: 0
	}

	100% {
		margin-left: -100%
	}
}

@keyframes blow-medium-left {
	0% {
		margin-left: 0
	}

	100% {
		margin-left: -100%
	}
}

@-webkit-keyframes blow-soft-right {
	0% {
		margin-left: 0
	}

	100% {
		margin-left: 50%
	}
}

@keyframes blow-soft-right {
	0% {
		margin-left: 0
	}

	100% {
		margin-left: 50%
	}
}

@-webkit-keyframes blow-medium-right {
	0% {
		margin-left: 0
	}

	100% {
		margin-left: 100%
	}
}

@keyframes blow-medium-right {
	0% {
		margin-left: 0
	}

	100% {
		margin-left: 100%
	}
}

@-webkit-keyframes sway-0 {
	0% {
		-webkit-transform: rotate(-5deg)
	}

	40% {
		-webkit-transform: rotate(28deg)
	}

	100% {
		-webkit-transform: rotate(3deg)
	}
}

@keyframes sway-0 {
	0% {
		-ms-transform: rotate(-5deg);
		transform: rotate(-5deg)
	}

	40% {
		-ms-transform: rotate(28deg);
		transform: rotate(28deg)
	}

	100% {
		-ms-transform: rotate(3deg);
		transform: rotate(3deg)
	}
}

@-webkit-keyframes sway-1 {
	0% {
		-webkit-transform: rotate(10deg)
	}

	40% {
		-webkit-transform: rotate(43deg)
	}

	100% {
		-webkit-transform: rotate(15deg)
	}
}

@keyframes sway-1 {
	0% {
		-ms-transform: rotate(10deg);
		transform: rotate(10deg)
	}

	40% {
		-ms-transform: rotate(43deg);
		transform: rotate(43deg)
	}

	100% {
		-ms-transform: rotate(15deg);
		transform: rotate(15deg)
	}
}

@-webkit-keyframes sway-2 {
	0% {
		-webkit-transform: rotate(15deg)
	}

	40% {
		-webkit-transform: rotate(56deg)
	}

	100% {
		-webkit-transform: rotate(22deg)
	}
}

@keyframes sway-2 {
	0% {
		-ms-transform: rotate(15deg);
		transform: rotate(15deg)
	}

	40% {
		-ms-transform: rotate(56deg);
		transform: rotate(56deg)
	}

	100% {
		-ms-transform: rotate(22deg);
		transform: rotate(22deg)
	}
}

@-webkit-keyframes sway-3 {
	0% {
		-webkit-transform: rotate(25deg)
	}

	40% {
		-webkit-transform: rotate(74deg)
	}

	100% {
		-webkit-transform: rotate(37deg)
	}
}

@keyframes sway-3 {
	0% {
		-ms-transform: rotate(25deg);
		transform: rotate(25deg)
	}

	40% {
		-ms-transform: rotate(74deg);
		transform: rotate(74deg)
	}

	100% {
		-ms-transform: rotate(37deg);
		transform: rotate(37deg)
	}
}

@-webkit-keyframes sway-4 {
	0% {
		-webkit-transform: rotate(40deg)
	}

	40% {
		-webkit-transform: rotate(68deg)
	}

	100% {
		-webkit-transform: rotate(25deg)
	}
}

@keyframes sway-4 {
	0% {
		-ms-transform: rotate(40deg);
		transform: rotate(40deg)
	}

	40% {
		-ms-transform: rotate(68deg);
		transform: rotate(68deg)
	}

	100% {
		-ms-transform: rotate(25deg);
		transform: rotate(25deg)
	}
}

@-webkit-keyframes sway-5 {
	0% {
		-webkit-transform: rotate(50deg)
	}

	40% {
		-webkit-transform: rotate(78deg)
	}

	100% {
		-webkit-transform: rotate(40deg)
	}
}

@keyframes sway-5 {
	0% {
		-ms-transform: rotate(50deg);
		transform: rotate(50deg)
	}

	40% {
		-ms-transform: rotate(78deg);
		transform: rotate(78deg)
	}

	100% {
		-ms-transform: rotate(40deg);
		transform: rotate(40deg)
	}
}

@-webkit-keyframes sway-6 {
	0% {
		-webkit-transform: rotate(65deg)
	}

	40% {
		-webkit-transform: rotate(92deg)
	}

	100% {
		-webkit-transform: rotate(58deg)
	}
}

@keyframes sway-6 {
	0% {
		-ms-transform: rotate(65deg);
		transform: rotate(65deg)
	}

	40% {
		-ms-transform: rotate(92deg);
		transform: rotate(92deg)
	}

	100% {
		-ms-transform: rotate(58deg);
		transform: rotate(58deg)
	}
}

@-webkit-keyframes sway-7 {
	0% {
		-webkit-transform: rotate(72deg)
	}

	40% {
		-webkit-transform: rotate(118deg)
	}

	100% {
		-webkit-transform: rotate(68deg)
	}
}

@keyframes sway-7 {
	0% {
		-ms-transform: rotate(72deg);
		transform: rotate(72deg)
	}

	40% {
		-ms-transform: rotate(118deg);
		transform: rotate(118deg)
	}

	100% {
		-ms-transform: rotate(68deg);
		transform: rotate(68deg)
	}
}

@-webkit-keyframes sway-8 {
	0% {
		-webkit-transform: rotate(94deg)
	}

	40% {
		-webkit-transform: rotate(136deg)
	}

	100% {
		-webkit-transform: rotate(82deg)
	}
}

@keyframes sway-8 {
	0% {
		-ms-transform: rotate(94deg);
		transform: rotate(94deg)
	}

	40% {
		-ms-transform: rotate(136deg);
		transform: rotate(136deg)
	}

	100% {
		-ms-transform: rotate(82deg);
		transform: rotate(82deg)
	}
}

.sakura {
	/* background: -webkit-linear-gradient(120deg, rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.9));
	background: linear-gradient(120deg, rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.9)); */
	background-size: 100% 100%;
	pointer-events: none;
	position: absolute
}

@keyframes flyDown {
	0% {
		transform: translateY(0) rotate(0deg);
		opacity: 1;
	}

	50% {
		transform: translateY(50vh) rotate(15deg);
	}

	100% {
		transform: translateY(100vh) rotate(360deg);
		opacity: 0;
	}
}

.flying-butterfly {
	position: absolute;
	top: 0;
	background-size: contain;
	background-repeat: no-repeat;
	pointer-events: none;
	animation: flyDown ease-in-out;
	z-index: 999;
}

/*******************************/

body {
	font-family: 'Poppins', sans-serif;
	margin: 0;
	padding: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}

body.light-mode {
	background-color: #fdf6f9;
	background-image: linear-gradient(315deg, #fdf6f9 0%, #fce7f3 40%, #fff 100%);
	color: #b1446e;
}

body.dark-mode {
	background-color: #fdf6f9;
	background-image: linear-gradient(315deg, #fdf6f9 0%, #fce7f3 40%, #fff 100%);
	color: #b1446e;
}

img {
	max-width: 100%;
	height: auto;
}

@media (max-width:768px) {
	img {
		max-width: 30%;
	}
}

@media (min-width:768px) {
	img {
		max-width: 20%;
	}
}

@media (min-width:1200px) {
	img {
		max-width: 25%;
	}
}


.top-right-decoration {
	z-index: var(--zindex);
	position: fixed;
	top: 0;
	right: 0;
	display: block;
}

.top-left-decoration {
	z-index: var(--zindex);
	position: fixed;
	top: 0;
	left: 0;
	display: block;
}

.bottom-right-decoration {
	z-index: var(--zindex);
	position: fixed;
	bottom: 0;
	right: 0;
	display: block;
}

.bottom-left-decoration {
	z-index: var(--zindex);
	position: fixed;
	bottom: 0;
	left: 0;
	display: block;
	rotate: -180deg;
}

.title h1 {
	font-family: 'Dancing Script', cursive;
	font-weight: bold;
	font-style: normal;
	font-size: 60px;
	margin: 32px 0;
	color: var(--primary-color);
}

.title h2 {
	font-family: 'Dancing Script', cursive;
	font-weight: bold;
	font-style: normal;
	margin: 0;
	padding: 0;
	font-size: 24px;
	color: #e25c67;
	line-height: 1;
}

.dance-med {
	font-family: 'Dancing Script', cursive;
	font-weight: bolder;
	font-style: normal;
	font-size: 32px;
	color: var(--primary-color);
	margin: 16px;
	text-align: center;
}

.title h3 {
	font-weight: 300;
	text-transform: uppercase;
	letter-spacing: 5px;
	font-size: 24px;
	color: var(--primary-color);
	margin-top: 5px;
}

.title p {
	color: var(--primary-color);
	margin: 30px 0 20px;
	text-transform: uppercase;
	letter-spacing: 3px;
	font-size: 16px;
}

.wrap {
	min-height: 100vh;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-align-items: center;
	align-items: center;
	text-align: center;
}





.title,
.functions {
	margin-bottom: 3.5rem;
}

#time {
	width: auto;
	height: auto;
	padding: 20px;
	background-color: var(--primary-color-lighter);
	border-radius: 20px;
	font-size: 16px;
	margin-bottom: 4rem;
}

.venue {
	width: auto;
	height: auto;
	background-color: #FFB6C1;
	border-radius: .75rem;
	text-align: center;
	color: #fff;
	padding: 1rem 1.75rem;
	margin-right: 8px;
	font-weight: 600;
	transition: .3s;
}

.venue:hover {
	background-color: var(--second-color);
	color: var(--title-color);
}

.venue a {
	text-decoration: none;
	color: #fff;
}

.container {
	display: grid;
	grid-template-columns: 1fr 1fr;
	border-radius: 10px;
	overflow: hidden;
}

.table_container {
	display: grid;
	grid-template-columns: 1fr;
	border-radius: 10px;
	overflow: hidden;
}

.block {
	width: 180px;
	height: 160px;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	color: #fff;
}

.days {
	background: linear-gradient(90deg, #D0637C, #DD868C);
}

.hours {
	background: linear-gradient(90deg, #FB943C, #F8C457);
}

.minutes {
	background: linear-gradient(90deg, #E1C7E4, #EAD1E4);
}

.seconds {
	background-color: #7BDFF2;
}

.date {
	color: var(--second-color);
	font-weight: 900;
}

.place {
	color: var(--second-color);
	font-weight: 900;
}

.CTA {
	color: #64664e;
	text-align: center;
	font-size: 16px;
	margin: 24px 0;
	line-height: 1.5;
}

.CTA .contact {
	display: inline-block;
	width: 30px;
	height: 30px;
	vertical-align: middle;
	margin: 0 6px;
	/* Khoảng cách giữa các icon */
	transition: transform 0.2s;
	margin-top: 10px;
}

.CTA .contact img {
	width: 100%;
	height: 100%;
	max-width: 30px;
	max-height: 30px;
	display: block;
	object-fit: contain;
	border-radius: 6px;
}

.CTA .contact:hover img {
	transform: scale(1.3);
	/* Hiệu ứng hover nhỏ */
}

.phone {
	color: var(--second-color);
}

.end-msg {
	width: auto;
	height: auto;
	padding: 12px;
	background: linear-gradient(90deg, #b33a46, #9b313c);
	border-radius: 20px;
	font-size: 14px;
	color: #fff;
	font-size: 24px;
}

a {
	text-decoration: none;
}

.happiness {
	z-index: var(--noindex);
	color: var(--second-color);
	font-size: 22px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 24px;
	margin-top: 3rem;
}

.music {
	display: none;
}

.actions {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	font-size: 12px;
	letter-spacing: 0pt;
	align-items: center;
	justify-content: center;
	margin-left: 8px;
}

.footer {
	z-index: var(--zindex);
	font-size: 0.6rem;
	font-weight: 600;
	color: var(--title-color);

}

.footer span {
	color: var(--primary-color);

}

/*=============== NEWSLETTER ===============*/
.newsletter__container {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.newsletter__description {
	z-index: var(--noindex);
	color: var(--second-color);
	font-size: 16px;
	text-align: center;
	margin: 0 1.5rem 1rem 1.5rem;
}

.newsletter__description span {
	font-weight: 600;
	font-size: 22px;
}

.newsletter__form {
	z-index: var(--noindex);
	background: var(--primary-color-lighter);
	padding: 1rem;
	display: flex;
	justify-content: space-between;
	border-radius: .75rem;
	margin: 0 8px 0 8px;
}

.newsletter__input {
	font-size: 18px;
	width: 70%;
	padding: 0 .5rem;
	background: none;
	color: var(--title-color);
}

.newsletter__input::placeholder {
	color: var(--text-color);
}

.rsvp__form {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	padding: 1rem;
	background: #FFB6C1;
	border-radius: 0.75rem;
	margin: 0 auto;
	width: 100%;
	max-width: 400px;
	/* tránh vượt background */
	box-sizing: border-box;
}

.rsvp__form input,
.rsvp__form select {
	width: 100%;
	font-size: 16px;
	padding: 0.5rem;
	background: none;
	color: var(--title-color, #333);
	border: 1px solid var(--text-color, #ccc);
	border-radius: 6px;
	font-family: inherit;
	box-sizing: border-box;
}

.rsvp__form input::placeholder {
	color: var(--text-color, #999);
	font-style: italic;
}

.rsvp__form button {
	font-size: 16px;
	padding: 0.5rem;
	background-color: #64664e;
	opacity: 0.7;
	color: white;
	border: none;
	border-radius: 6px;
	cursor: pointer;
	transition: background-color 0.3s ease;
	align-self: center;
}

.rsvp__form button:hover {
	background-color: var(--second-color);
}

/* Row cho label + dropdown */
.rsvp__row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0.5rem;
}

.rsvp__row label {
	white-space: nowrap;
	font-size: 15px;
	font-weight: 500;
	color: var(--text-color, #666);
}

.rsvp__row select {
	width: 80px;
	/* Giới hạn kích thước dropdown */
}

@media (max-width: 480px) {
	.rsvp__form {
		padding: 0.75rem;
	}

	.rsvp__row {
		flex-direction: row;
		/* vẫn 1 hàng cho label + dropdown */
		justify-content: space-between;
	}

	.rsvp__row label {
		font-size: 14px;
	}

	.rsvp__row select {
		width: 70px;
	}
}

/* Ẩn spinner trên Chrome, Safari, Edge */
input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* Ẩn spinner trên Firefox */
input[type=number] {
	-moz-appearance: textfield;
}



blockquote {
	z-index: var(--noindex);
	position: relative;
	padding-left: 30px;
	font-weight: 600;
	color: #64664e;
	padding: 1em;
	padding-right: 0.25em;
	margin-left: 2.25em;
	margin-right: 0.2em;
	max-width: 35em;
	font-size: 15px;
}

blockquote::before {
	content: "“";
	font-family: serif;
	position: absolute;
	right: 100%;
	font-size: 75px;
	line-height: 0px;
	top: 50px;
	color: #64664e;
	animation: dancing 1s linear infinite;
	display: inline-block;
	transform: rotate(13deg);
}

blockquote::after {
	content: '';
	display: block;
	position: absolute;
	top: 100%;
	width: 80px;
	height: 5px;
	background: #64664e;
	left: 1em;
}

/*=============== BUTTONS ===============*/
.button {
	display: flex;
	gap: 0.6rem;
	color: #fff;
	background-color: var(--primary-color);
	padding: 1rem 1.75rem;
	border-radius: .5rem;
	font-weight: 600;
	transition: .3s;
}

.button:hover {
	background-color: var(--second-color);
	color: var(--title-color);
}

.d-block {
	display: block !important;
}

.loading {
	display: none;
	text-align: center;
	padding: 15px;
}

.loading:before {
	content: "";
	display: inline-block;
	border-radius: 50%;
	width: 24px;
	height: 24px;
	margin: 0 10px -6px 0;
	border: 3px solid #eee;
	border-top-color: var(--primary-color);
	animation: animate-loading 1s linear infinite;
}

@keyframes animate-loading {
	0% {
		transform: rotate(0deg);
	}

	100% {
		transform: rotate(360deg);
	}
}

/* Responsive Table Style */

.table_container {
	box-shadow: rgba(0, 0, 0, 0.05) 0px 1px 2px 0px;
	margin-bottom: 3.5rem;
}

@media (max-width: 768px) {
	.table_container {
		width: 90%;
	}
}

.responsive-table {
	color: var(--primary-color);
	border-collapse: collapse;
	border-radius: 10px;
	width: 100%;
	overflow: hidden;
	background-color: transparent;
}

.responsive-table__row {
	display: grid;
	border-bottom: 1px solid var(--primary-color-lighter);
	padding: 0 1.5rem;
	background-color: transparent;
	margin-bottom: 0.25rem;
}



td:first-child {
	color: var(--second-color);
}

/* td:hover {
	color: #fff;
} */

@media (min-width: 768px) {
	.responsive-table__row {
		grid-template-columns: 1fr 1fr;
	}
}

@media (min-width: 768px) and (max-width: 991px) {
	.responsive-table__row {
		grid-template-columns: 1fr 1fr;
	}
}

.responsive-table__row th,
.responsive-table__row td {
	padding: 1rem;
}

.responsive-table__body .responsive-table__row {
	transition: 0.1s linear;
	transition-property: color, background-color;
}

.responsive-table__body .responsive-table__row:last-child {
	border-bottom: none;
}

.responsive-table__body__text {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}

.responsive-table__body__text::before {
	margin-right: 1rem;
	font-weight: 600;
	text-transform: capitalize;
}

@media (max-width: 400px) {
	.responsive-table__body__text::before {
		width: 100%;
		margin-bottom: 1rem;
	}
}

.responsive-table__body__text--name {
	font-weight: 600;
}

@media (min-width: 768px) {
	.responsive-table__body__text--name::before {
		display: none;
	}
}

@media (min-width: 768px) and (max-width: 991px) {
	.responsive-table__body__text--name {
		grid-column: 1/2;
		flex-direction: column;
	}
}

@media (min-width: 768px) and (max-width: 991px) {

	.responsive-table__body__text--status,
	.responsive-table__body__text--types,
	.responsive-table__body__text--update {
		grid-column: 1/3;
	}
}

@media (min-width: 768px) and (max-width: 991px) {
	.responsive-table__body__text--country {
		grid-column: 3/-1;
	}
}

@media (min-width: 768px) and (max-width: 991px) {

	.responsive-table__body__text--name,
	.responsive-table__body__text--country {
		grid-row: 2;
	}
}

.swal2-popup {
	border-radius: 0.75rem;
}

.swal2-html-container {
	font-size: 16px !important;
	font-weight: 600 !important;
}


/*=============== floating ===============*/



.floating {
	display: grid;
	place-items: center;
}

.floating__container {
	position: fixed;
	right: 1.5rem;
	bottom: -20%;
	opacity: .8;
	padding: 0 .3rem;
	border-radius: .4rem;
	z-index: var(--zindex);
	transition: .4s;

}

/* Show scroll */
.show-scroll {
	bottom: 0;
}

.floating__toggle,
.floating__icon {
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	background-color: var(--body-color);
}

.floating__toggle {
	color: var(--primary-color);
	width: 70px;
	height: 70px;
	font-size: 2rem;
	box-shadow: 6px 6px 24px var(--primary-color),
		-6px -6px 24px var(--body-color),
		inset -6px -6px 24px var(--primary-color),
		inset 6px 6px 24px var(--body-color);

	position: relative;
	z-index: 10;
	cursor: pointer;
	transition: box-shadow 0.3s ease-in-out, transform 0.3s;
}

.floating__toggle i {
	transition: transform 0.4s ease-in-out;
}

.floating__toggle:hover {
	box-shadow: -6px -6px 24px var(--primary-color),
		6px 6px 24px var(--body-color),
		inset 6px 6px 24px var(--primary-color),
		inset -6px -6px 24px var(--body-color);
	transform: scale(0.95);
}

.floating__icon,
.floating__link {
	width: 40px;
	height: 40px;
}

.floating__icon {
	font-size: 1rem;
	color: var(--primary-color);
	box-shadow: -4px -4px 16px var(--primary-color),
		4px 4px 16px var(--body-color),
		inset 4px 4px 16px var(--primary-color),
		inset -4px -4px 16px var(--body-color);
	transition: box-shadow 0.3s ease-in-out;
}

.floating__icon:hover {
	box-shadow: 4px 4px 16px var(--primary-color),
		-4px -4px 16px var(--body-color),
		inset -4px -4px 16px var(--primary-color),
		inset 4px 4px 16px var(--body-color);
}

.floating__link {
	position: absolute;
	inset: 0;
	margin: auto;
	opacity: 0;
	transition: transform 0.4s ease-in-out, opacity 0.6s;
	z-index: 1;
}

.floating__link:nth-child(1) {
	transition-delay: 0.1s;
}

.floating__link:nth-child(2) {
	transition-delay: 0.2s;
}

.floating__link:nth-child(3) {
	transition-delay: 0.3s;
}

/* Rotate toggle */
.active.floating__toggle i {
	transform: rotate(135deg);
}

/* Move icons */
.active~ul .floating__link {
	opacity: 1;
}

.active~ul .floating__link:nth-child(1) {
	transform: translate(0, -4.2rem);
}

.active~ul .floating__link:nth-child(2) {
	transform: translate(0, -7.2rem);
}

.active~ul .floating__link:nth-child(3) {
	transform: translate(0, -10.2rem);
}



/* socials animation  */

.socials {
	display: flex;
	margin: 0;
	padding: 0;
	align-items: center;
	justify-content: center;
	height: 10vh;
}

a {
	padding: 0px 10px 0px 10px;
}

.socials a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	font-size: 28px;
	color: #64664e;
	cursor: pointer;
	text-shadow: 0px 7px 10px rgba(0, 0, 0, 0.4);
	transition: all ease-in-out 150ms;
	margin: 0 8px;
	text-decoration: none;
	z-index: 1;
}

.socials a:hover {
	transform: translateY(-8px);
	text-shadow: 0px 14px 10px rgba(0, 0, 0, 0.3);
}

.modal {
	position: fixed;
	z-index: 9999;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	background-color: rgba(0, 0, 0, 0.5);
	display: flex;
	align-items: center;
	justify-content: center;
}

#giftModal {
	visibility: hidden;
	opacity: 0;
	transition: opacity 0.3s ease;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.6);
	justify-content: center;
	align-items: center;
	z-index: 9999;
	display: flex;
}

#giftSlider {
	position: relative;
	background: white;
	border-radius: 10px;
	padding: 10px;
	width: 320px;
	overflow: hidden;
}

#slides {
	display: flex;
	transition: transform 0.5s ease;
}

#slides>div {
	width: 100%;
	flex-shrink: 0;
	display: flex;
	justify-content: center;
	align-items: center;
}

.dot {
	display: inline-block;
	font-size: 18px;
	margin: 0 5px;
	cursor: pointer;
	opacity: 0.5;
	transition: all 0.3s ease;
	transform: scale(1);
}

.dot.active {
	opacity: 1;
	transform: scale(1.5);
}

#dots {
	text-align: center;
	margin-top: 10px;
}

#closeGiftModal {
	position: absolute;
	top: 5px;
	right: 5px;
	background: none;
	border: none;
	font-size: 20px;
	cursor: pointer;
}


#fotoModal {
	visibility: hidden;
	opacity: 0;
	transition: opacity 0.3s ease;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.6);
	justify-content: center;
	align-items: center;
	z-index: 9999;
	display: flex;
}

#fotoSlider {
	position: relative;
	background: white;
	border-radius: 10px;
	padding: 10px;
	width: 320px;
	overflow: hidden;
}

#fotoSlides {
	display: flex;
	transition: transform 0.5s ease;
}

#fotoSlides>div {
	width: 100%;
	flex-shrink: 0;
	display: flex;
	justify-content: center;
	align-items: center;
}

.fotoDot {
	display: inline-block;
	font-size: 18px;
	margin: 0 5px;
	cursor: pointer;
	opacity: 0.5;
	transition: all 0.3s ease;
	transform: scale(1);
}

.fotoDot.active {
	opacity: 1;
	transform: scale(1.5);
}

#fotoDots {
	text-align: center;
	margin-top: 10px;
}

#closeFotoModal {
	position: absolute;
	top: 5px;
	right: 5px;
	background: none;
	border: none;
	font-size: 20px;
	cursor: pointer;
}

.gallery {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.gallery a img {
	width: auto;
	/* không vượt quá container */
	height: auto;
	/* giữ tỉ lệ gốc */
	object-fit: contain;
	/* ảnh không bị cắt */
	cursor: pointer;
	border-radius: 5px;
}


.nav-btn {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background-color: rgba(139, 54, 70, 0.1);
	color: #fff;
	border: none;
	border-radius: 50%;
	width: 15px;
	height: 15px;
	cursor: pointer;
	font-size: 10px;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: background-color 0.3s ease;
	z-index: 1;
}

.nav-btn:hover {
	background-color: rgba(139, 54, 70, 0.4);
	width: 18px;
	height: 18px;
	font-size: 12px;
}

.left-btn {
	left: 5px;
}

.right-btn {
	right: 5px;
}


@keyframes shake {
	0% {
		transform: rotate(0deg);
	}

	25% {
		transform: rotate(1deg);
	}

	50% {
		transform: rotate(0deg);
	}

	75% {
		transform: rotate(-1deg);
	}

	100% {
		transform: rotate(0deg);
	}
}