
/* v1.0.1 full-width breakout + overlap guard */
body.fp365-wishlist-enhanced .el-my-wishlist,
body.fp365-wishlist-enhanced .el-my-wishlist > div,
body.fp365-wishlist-enhanced .el-my-wishlist .container,
body.fp365-wishlist-enhanced .el-my-wishlist .row{
	max-width:none!important;
	overflow:visible!important;
}

body.fp365-wishlist-enhanced .el-my-wishlist{
	width:100%!important;
}

.fp365-wishlist-main,
.fp365-wishlist-sidebar,
.fp365-sidebar,
.fp365-wishlist-tools,
.fp365-cards{
	min-width:0;
}


:root{
	--fp365-pink:#f40051;
	--fp365-pink-2:#ff1765;
	--fp365-ink:#12182a;
	--fp365-muted:#6d7282;
	--fp365-line:#e8eaf0;
	--fp365-soft:#fff5f8;
	--fp365-card:#fff;
	--fp365-shadow:0 10px 34px rgba(22,27,45,.08);
}

body.fp365-wishlist-enhanced{
	background:#fff;
}

body.fp365-wishlist-enhanced .el-my-wishlist > table{
	position:absolute!important;
	width:1px!important;
	height:1px!important;
	padding:0!important;
	margin:-1px!important;
	overflow:hidden!important;
	clip:rect(0,0,0,0)!important;
	white-space:nowrap!important;
	border:0!important;
}

.fp365-wishlist-app,
.fp365-wishlist-app *{
	box-sizing:border-box;
}

.fp365-wishlist-app{
	position:relative;
	left:50%;
	width:min(1540px,calc(100vw - 56px));
	max-width:none;
	margin-left:0;
	padding:44px 0 70px;
	transform:translateX(-50%);
	font-family:Montserrat,Arial,sans-serif;
	color:var(--fp365-ink);
}

.fp365-wishlist-shell{
	display:grid;
	grid-template-columns:minmax(0,1fr) 320px;
	gap:30px;
	align-items:start;
}

.fp365-wishlist-main{min-width:0}

.fp365-wishlist-heading{
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:24px;
	margin-bottom:22px;
}

.fp365-wishlist-titleline{
	display:flex;
	align-items:center;
	gap:12px;
	margin:0 0 4px;
}

.fp365-wishlist-heartmark{
	width:34px;
	height:34px;
	color:var(--fp365-pink);
	flex:0 0 34px;
}

.fp365-wishlist-title{
	margin:0!important;
	color:var(--fp365-ink)!important;
	font-size:34px!important;
	line-height:1.08!important;
	font-weight:850!important;
	letter-spacing:-.02em;
	text-transform:none!important;
}

.fp365-wishlist-count{
	margin:0 0 4px;
	font-size:17px;
	font-weight:750;
	color:#171c2d;
}

.fp365-wishlist-subtitle{
	margin:0;
	font-size:14px;
	color:var(--fp365-muted);
}

.fp365-view-toggle{
	display:flex;
	align-items:center;
	padding:4px;
	border:1px solid var(--fp365-line);
	border-radius:9px;
	background:#fff;
	box-shadow:0 4px 18px rgba(20,24,38,.04);
}

.fp365-view-btn{
	display:flex;
	align-items:center;
	gap:7px;
	height:40px;
	padding:0 17px;
	border:0;
	border-radius:7px;
	background:transparent;
	color:#566071;
	font:700 13px/1 Montserrat,Arial,sans-serif;
	cursor:pointer;
}

.fp365-view-btn svg{width:16px;height:16px}
.fp365-view-btn.is-active{
	background:linear-gradient(135deg,var(--fp365-pink),var(--fp365-pink-2));
	color:#fff;
	box-shadow:0 6px 16px rgba(244,0,81,.2);
}

.fp365-wishlist-tools{
	display:grid;
	grid-template-columns:minmax(260px,1.6fr) minmax(150px,.75fr) minmax(160px,.82fr) minmax(190px,1fr);
	gap:12px;
	margin-bottom:22px;
}

.fp365-field{
	position:relative;
	min-width:0;
	display:flex;
	align-items:center;
	height:46px;
	border:1px solid #dfe3ea;
	border-radius:8px;
	background:#fff;
	transition:.2s ease;
}

.fp365-field:focus-within{
	border-color:rgba(244,0,81,.65);
	box-shadow:0 0 0 3px rgba(244,0,81,.08);
}

.fp365-field svg{
	position:absolute;
	left:14px;
	width:18px;
	height:18px;
	color:#182238;
	pointer-events:none;
}

.fp365-field input,
.fp365-field select{
	min-width:0;
	width:100%;
	height:100%;
	border:0!important;
	outline:0!important;
	background:transparent!important;
	box-shadow:none!important;
	color:#242a39!important;
	font:600 13px/1.2 Montserrat,Arial,sans-serif!important;
}

.fp365-field input{padding:0 14px 0 44px!important}
.fp365-field select{
	padding:0 34px 0 44px!important;
	appearance:auto;
	cursor:pointer;
}
.fp365-field input::placeholder{color:#8d93a2}

.fp365-cards{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:18px;
}

.fp365-cards.is-list{
	grid-template-columns:1fr;
}

.fp365-event-card{
	position:relative;
	display:flex;
	flex-direction:column;
	min-width:0;
	overflow:hidden;
	border:1px solid #e1e4eb;
	border-radius:9px;
	background:var(--fp365-card);
	box-shadow:0 9px 24px rgba(21,26,43,.06);
	transition:transform .2s ease,box-shadow .2s ease;
}

.fp365-event-card:hover{
	transform:translateY(-3px);
	box-shadow:0 16px 36px rgba(21,26,43,.12);
}

.fp365-event-media{
	position:relative;
	width:100%;
	aspect-ratio:1.48/1;
	overflow:hidden;
	background:
		radial-gradient(circle at 24% 18%,rgba(244,0,81,.48),transparent 36%),
		linear-gradient(135deg,#11131c,#2b1120 70%,#f40051);
}

.fp365-event-media img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}

.fp365-remove{
	position:absolute;
	top:12px;
	right:12px;
	z-index:3;
	display:grid;
	place-items:center;
	width:40px;
	height:40px;
	padding:0;
	border:1px solid rgba(255,255,255,.8);
	border-radius:999px;
	background:rgba(255,255,255,.96);
	color:var(--fp365-pink);
	box-shadow:0 6px 18px rgba(0,0,0,.12);
	cursor:pointer;
	transition:.18s ease;
}
.fp365-remove:hover{
	transform:scale(1.06);
	background:var(--fp365-pink);
	color:#fff;
}
.fp365-remove svg{width:21px;height:21px}

.fp365-event-body{
	display:flex;
	flex-direction:column;
	flex:1;
	padding:14px 16px 15px;
}

.fp365-event-title{
	margin:0 0 4px!important;
	color:#101525!important;
	font-size:17px!important;
	line-height:1.25!important;
	font-weight:850!important;
	letter-spacing:-.015em;
	text-transform:none!important;
}

.fp365-event-organizer{
	margin:0 0 13px;
	font-size:12.5px;
	color:#6b7281;
}

.fp365-event-meta{
	display:grid;
	gap:7px;
	margin-bottom:12px;
}

.fp365-meta-row{
	display:flex;
	align-items:flex-start;
	gap:9px;
	min-width:0;
	color:#343a49;
	font-size:12px;
	line-height:1.4;
}

.fp365-meta-row svg{
	flex:0 0 16px;
	width:16px;
	height:16px;
	margin-top:1px;
	color:var(--fp365-pink);
}

.fp365-meta-row strong{
	font-weight:750;
}

.fp365-tags{
	display:flex;
	flex-wrap:wrap;
	gap:6px;
	min-height:25px;
	margin:2px 0 14px;
}

.fp365-tag{
	display:inline-flex;
	align-items:center;
	min-height:24px;
	padding:4px 10px;
	border-radius:999px;
	background:#ffe7ef;
	color:var(--fp365-pink);
	font-size:10.5px;
	line-height:1;
	font-weight:700;
}

.fp365-card-actions{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:9px;
	margin-top:auto;
}

.fp365-card-btn{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:7px;
	height:43px;
	border-radius:7px;
	text-decoration:none!important;
	font:800 12px/1 Montserrat,Arial,sans-serif;
	transition:.18s ease;
}
.fp365-card-btn svg{width:16px;height:16px}
.fp365-card-btn.primary{
	border:1px solid var(--fp365-pink);
	background:linear-gradient(135deg,var(--fp365-pink),#ff0e60);
	color:#fff!important;
	box-shadow:0 8px 18px rgba(244,0,81,.16);
}
.fp365-card-btn.secondary{
	border:1px solid #cfd4df;
	background:#fff;
	color:#161c2c!important;
}
.fp365-card-btn:hover{transform:translateY(-1px)}

.fp365-cards.is-list .fp365-event-card{
	display:grid;
	grid-template-columns:300px 1fr;
}
.fp365-cards.is-list .fp365-event-media{
	height:100%;
	min-height:230px;
	aspect-ratio:auto;
}
.fp365-cards.is-list .fp365-event-body{
	padding:20px 22px;
}
.fp365-cards.is-list .fp365-event-title{font-size:22px!important}
.fp365-cards.is-list .fp365-card-actions{max-width:420px}

.fp365-sidebar{
	display:grid;
	gap:22px;
}

.fp365-side-panel{
	padding:20px;
	border:1px solid #ffdce8;
	border-radius:12px;
	background:linear-gradient(145deg,#fff8fb,#fff1f6);
}

.fp365-side-heading{
	display:flex;
	align-items:flex-start;
	gap:10px;
	margin-bottom:16px;
}
.fp365-side-heading svg{
	width:24px;
	height:24px;
	color:var(--fp365-pink);
	flex:0 0 24px;
}
.fp365-side-heading h3{
	margin:0 0 3px!important;
	color:#151a2a!important;
	font-size:18px!important;
	line-height:1.15!important;
	font-weight:850!important;
	text-transform:none!important;
}
.fp365-side-heading p{
	margin:0;
	color:#727989;
	font-size:12px;
}

.fp365-rec-list{display:grid;gap:12px}
.fp365-rec{
	display:grid;
	grid-template-columns:100px minmax(0,1fr);
	gap:12px;
	padding:10px;
	border:1px solid #e5e7ed;
	border-radius:8px;
	background:#fff;
	text-decoration:none!important;
	color:inherit!important;
}
.fp365-rec-image{
	width:100px;
	height:114px;
	overflow:hidden;
	border-radius:5px;
	background:linear-gradient(135deg,#161824,#f40051);
}
.fp365-rec-image img{width:100%;height:100%;object-fit:cover;display:block}
.fp365-rec-title{
	margin:1px 0 5px!important;
	color:#181d2d!important;
	font-size:13px!important;
	line-height:1.25!important;
	font-weight:850!important;
	text-transform:none!important;
}
.fp365-rec-by{
	margin:0 0 8px;
	font-size:10.5px;
	color:#717888;
}
.fp365-rec-meta{
	display:flex;
	align-items:flex-start;
	gap:5px;
	margin:0 0 6px;
	color:#555e70;
	font-size:10.5px;
	line-height:1.3;
}
.fp365-rec-meta svg{width:13px;height:13px;flex:0 0 13px;color:#6c7382}
.fp365-rec-tags{display:flex;flex-wrap:wrap;gap:4px}
.fp365-rec-tags .fp365-tag{font-size:9px;min-height:20px;padding:3px 7px}

.fp365-discover{
	padding:24px 20px;
	text-align:left;
}
.fp365-discover-icon{
	display:grid;
	place-items:center;
	width:50px;
	height:50px;
	margin-bottom:14px;
	border-radius:999px;
	background:#ffd6e4;
	color:var(--fp365-pink);
}
.fp365-discover-icon svg{width:25px;height:25px}
.fp365-discover h3{
	margin:0 0 7px!important;
	color:#171c2d!important;
	font-size:18px!important;
	font-weight:850!important;
	text-transform:none!important;
}
.fp365-discover p{
	margin:0 0 17px;
	color:#636b7b;
	font-size:12.5px;
	line-height:1.5;
}
.fp365-browse{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	height:44px;
	border-radius:6px;
	background:linear-gradient(135deg,var(--fp365-pink),#ff1765);
	color:#fff!important;
	text-decoration:none!important;
	font-size:12px;
	font-weight:850;
}
.fp365-browse svg{width:17px;height:17px}

.fp365-empty{
	grid-column:1/-1;
	display:grid;
	place-items:center;
	min-height:330px;
	padding:40px;
	border:1px solid #ffe0ea;
	border-radius:12px;
	background:#fff8fb;
	text-align:center;
}
.fp365-empty-inner{max-width:430px}
.fp365-empty-icon{
	display:grid;
	place-items:center;
	width:64px;height:64px;
	margin:0 auto 16px;
	border-radius:999px;
	background:#ffe2ec;
	color:var(--fp365-pink);
}
.fp365-empty-icon svg{width:30px;height:30px}
.fp365-empty h3{margin:0 0 8px!important;font-size:22px!important;text-transform:none!important}
.fp365-empty p{margin:0 0 18px;color:#6f7685;font-size:13px;line-height:1.5}

.fp365-loading .fp365-event-card{
	min-height:430px;
	background:linear-gradient(90deg,#f5f6f8 20%,#fafafa 38%,#f5f6f8 56%);
	background-size:200% 100%;
	animation:fp365-shimmer 1.25s infinite linear;
}
@keyframes fp365-shimmer{to{background-position:-200% 0}}

@media(max-width:1280px){
	.fp365-wishlist-shell{grid-template-columns:minmax(0,1fr) 300px}
	.fp365-wishlist-tools{grid-template-columns:minmax(220px,1.4fr) minmax(145px,.8fr) minmax(150px,.8fr)}
	.fp365-field.sort{grid-column:1/-1}
	.fp365-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:960px){
	.fp365-wishlist-app{
		left:50%;
		width:calc(100vw - 32px);
		padding-top:32px;
		transform:translateX(-50%);
	}
	.fp365-wishlist-shell{grid-template-columns:1fr}
	.fp365-sidebar{grid-template-columns:1fr 1fr}
	.fp365-wishlist-tools{grid-template-columns:1fr 1fr}
	.fp365-field.sort{grid-column:auto}
}

@media(max-width:680px){
	.fp365-wishlist-app{
		left:50%;
		width:calc(100vw - 24px);
		padding:26px 0 44px;
		transform:translateX(-50%);
	}
	.fp365-wishlist-heading{display:block}
	.fp365-wishlist-title{font-size:28px!important}
	.fp365-view-toggle{margin-top:18px;width:max-content}
	.fp365-wishlist-tools{grid-template-columns:1fr}
	.fp365-field.sort{grid-column:auto}
	.fp365-cards{grid-template-columns:1fr}
	.fp365-cards.is-list .fp365-event-card{display:flex}
	.fp365-cards.is-list .fp365-event-media{height:auto;aspect-ratio:1.58/1;min-height:0}
	.fp365-sidebar{grid-template-columns:1fr}
	.fp365-card-actions{grid-template-columns:1fr 1fr}
}
