/* 湯かご（気になる宿の保存）と足あとトレイ — 既存カードと同じ色・角丸に揃える */

/* --- カード内の湯かごボタン --- */
.oll-card .oll-name-row{
	display:flex;
	align-items:flex-start;
	gap:10px;
	justify-content:space-between;
}
.oll-card .oll-name-row .oll-name{
	flex:1 1 auto;
	margin:0 0 4px;
}
.oll-fav{
	flex:0 0 auto;
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:5px;
	background:#fff;
	border:1px solid #e2dccd;
	border-radius:99px;
	padding:5px 12px 5px 10px;
	min-height:44px; /* 指で押せる大きさ。見た目は枠、当たり判定はこの高さで確保する */
	font-size:.78em;
	color:#8b8578;
	cursor:pointer;
	line-height:1.4;
	white-space:nowrap;
	transition:border-color .15s ease, color .15s ease, background .15s ease;
}
/* display を指定した時点でブラウザ既定の [hidden]{display:none} に勝ってしまう。
   JSが動かない環境や、まだ結線されていないカードで死んだボタンを出さないために必ず要る。 */
.oll-fav[hidden]{display:none;}
.oll-fav:hover{border-color:#4e8e8b;color:#4e8e8b;}
.oll-fav-icon{
	display:inline-block;
	width:13px;
	height:13px;
	border:1.5px solid currentColor;
	border-radius:3px 3px 5px 5px;
	position:relative;
}
/* かごの持ち手 */
.oll-fav-icon::before{
	content:"";
	position:absolute;
	left:2px;
	right:2px;
	top:-4px;
	height:5px;
	border:1.5px solid currentColor;
	border-bottom:none;
	border-radius:5px 5px 0 0;
}
.oll-fav.is-on{
	background:#f2f7f6;
	border-color:#4e8e8b;
	color:#4e8e8b;
	font-weight:700;
}
.oll-fav.is-on .oll-fav-icon{background:#4e8e8b;border-color:#4e8e8b;}

/* --- 足あとトレイ（画面下に控えめに） --- */
.oll-tray{
	position:fixed;
	left:12px;
	/* 端末下端のホームバーぶんを避ける。広告のアンカーとも重なりにくくなる */
	bottom:calc(12px + env(safe-area-inset-bottom, 0px));
	z-index:60;
	max-width:min(340px, calc(100vw - 24px));
}
.oll-tray-inner{
	display:flex;
	align-items:stretch;
	background:#fffdf8;
	border:1px solid #e2dccd;
	border-left:4px solid #4e8e8b;
	border-radius:10px;
	box-shadow:0 6px 20px rgba(34,56,74,.18);
	overflow:hidden;
}
/* 閉じるは独立した列。リンクの上に重ねると、閉じるつもりのタップが広告に飛ぶ */
.oll-tray-close{
	order:2;
	flex:0 0 44px;
	align-self:stretch;
	background:none;
	border:none;
	border-left:1px solid #efeadf;
	min-height:44px;
	line-height:1;
	font-size:17px;
	color:#8b8578;
	cursor:pointer;
}
.oll-tray-close:hover{color:#22384a;background:#f6f3ec;}
.oll-tray-main{
	order:1;
	flex:1 1 auto;
	min-width:0;
	display:flex;
	align-items:stretch;
	gap:0;
	text-decoration:none;
}
.oll-tray-thumb{
	flex:0 0 76px;
	background:#e8e4da;
	overflow:hidden;
}
.oll-tray-thumb img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}
.oll-tray-body{
	flex:1 1 auto;
	padding:10px 12px;
	min-width:0;
}
.oll-tray-label{
	display:block;
	font-size:.7em;
	color:#8b8578;
	letter-spacing:.06em;
	margin-bottom:2px;
}
.oll-tray-name{
	display:block;
	font-size:.88em;
	font-weight:700;
	color:#22384a;
	line-height:1.45;
	margin-bottom:4px;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}
.oll-tray-go{
	display:block;
	font-size:.75em;
	font-weight:700;
	color:#4e8e8b;
}

/* --- 湯かごページへの入口（宿が入っているときだけJSが出す） --- */
.oll-yukago-link{
	margin:18px 0;
}
.oll-yukago-link[hidden]{display:none;}
.oll-yukago-link a{
	display:inline-flex;
	align-items:center;
	gap:8px;
	background:#f2f7f6;
	border:1px solid #4e8e8b;
	border-radius:99px;
	padding:11px 20px;
	min-height:44px;
	font-size:.9em;
	font-weight:700;
	color:#4e8e8b !important;
	text-decoration:none;
}
.oll-yukago-link a:hover{background:#e6efee;}
.oll-yukago-link-icon{
	display:inline-block;
	width:14px;
	height:14px;
	border:1.5px solid currentColor;
	border-radius:3px 3px 5px 5px;
	position:relative;
	flex:0 0 auto;
}
.oll-yukago-link-icon::before{
	content:"";
	position:absolute;
	left:2px;
	right:2px;
	top:-4px;
	height:5px;
	border:1.5px solid currentColor;
	border-bottom:none;
	border-radius:5px 5px 0 0;
}

/* --- 湯かごページ --- */
.oll-yukago-lead{
	font-size:.95em;
	color:#3d4a55;
	line-height:1.8;
	margin:0 0 18px;
}
.oll-yukago-mine{
	background:#f6f3ec;
	border-radius:8px;
	padding:10px 14px;
	margin:0 0 16px;
	font-size:.88em;
}
.oll-yukago-note{
	font-size:.78em;
	color:#8b8578;
	line-height:1.7;
	margin:18px 0 0;
}
/* 湯かごページでは「外す」ボタンがあるので、カード内の湯かごボタンは出さない */
.oll-yukago .oll-fav{display:none;}
.oll-yukago-remove{
	display:block;
	width:100%;
	margin:10px 0 0;
	background:none;
	border:1px solid #e2dccd;
	border-radius:6px;
	padding:8px;
	font-size:.8em;
	color:#8b8578;
	cursor:pointer;
	transition:color .15s ease, border-color .15s ease;
}
.oll-yukago-remove:hover{color:#bf0000;border-color:#e0b4b4;}
/* 外したあとの取り消し。消して終わりにしない */
.oll-yukago-undo{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:12px;
	background:#f6f3ec;
	border-radius:8px;
	padding:12px 14px;
	margin:0 0 18px;
	font-size:.85em;
	color:#5d6771;
}
.oll-yukago-undo button{
	flex:0 0 auto;
	background:#fff;
	border:1px solid #4e8e8b;
	border-radius:6px;
	padding:8px 16px;
	min-height:40px;
	color:#4e8e8b;
	font-weight:700;
	cursor:pointer;
}

/* 保存内容の確認と削除 */
.oll-yukago-data{
	border-top:1px solid #e8e4da;
	margin:30px 0 0;
	padding:20px 0 0;
}
.oll-yukago-data h2{
	font-size:1em;
	color:#22384a;
	margin:0 0 8px;
	border:none;
	padding:0;
	background:none;
}
.oll-yukago-data p{
	font-size:.82em;
	color:#8b8578;
	line-height:1.8;
	margin:0 0 12px;
}
.oll-yukago-data-actions{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
}
.oll-yukago-data-actions button{
	background:#fff;
	border:1px solid #e2dccd;
	border-radius:6px;
	padding:10px 16px;
	min-height:44px;
	font-size:.82em;
	color:#5d6771;
	cursor:pointer;
}
.oll-yukago-data-actions button:hover:not(:disabled){border-color:#bf0000;color:#bf0000;}
.oll-yukago-data-actions button:disabled{color:#b3ada2;cursor:default;}

.oll-yukago-empty{
	background:#f6f3ec;
	border-radius:10px;
	padding:26px 22px;
	text-align:center;
}
.oll-yukago-empty-lead{
	font-family:"Hiragino Mincho ProN","Yu Mincho",serif;
	font-size:1.15em;
	color:#22384a;
	margin:0 0 10px;
}
.oll-yukago-empty-body{
	font-size:.9em;
	color:#5d6771;
	line-height:1.85;
	margin:0 0 18px;
	text-align:left;
}
.oll-yukago-empty-cta{margin:0 0 10px;}
.oll-yukago-empty-cta a{
	display:inline-block;
	background:#4e8e8b;
	color:#fff !important;
	text-decoration:none;
	font-weight:700;
	padding:12px 24px;
	border-radius:6px;
}
.oll-yukago-empty-cta a:hover{opacity:.9;}
.oll-yukago-empty-sub{margin:0;font-size:.85em;}

/* --- 5と0のつく日アシスト --- */
.oll-saleday{
	background:#fffdf8;
	border:1px solid #e2dccd;
	border-left:4px solid #a9805b;
	border-radius:8px;
	padding:18px 20px;
	margin:26px 0;
}
.oll-saleday-label{
	font-size:.78em;
	color:#8b8578;
	letter-spacing:.08em;
	margin:0 0 4px;
}
.oll-saleday-date{
	font-family:"Hiragino Mincho ProN","Yu Mincho",serif;
	font-size:1.2em;
	color:#22384a;
	margin:0 0 10px;
	line-height:1.5;
}
.oll-saleday-count,
.oll-saleday-until{
	display:inline-block;
	margin-left:10px;
	font-family:system-ui,sans-serif;
	font-size:.62em;
	font-weight:700;
	color:#a9805b;
	background:#f7f1e9;
	border-radius:99px;
	padding:3px 11px;
	vertical-align:middle;
}
.oll-saleday-body{
	font-size:.88em;
	color:#5d6771;
	line-height:1.8;
	margin:0 0 14px;
}
.oll-saleday-actions{
	display:flex;
	flex-wrap:wrap;
	gap:10px;
	margin:0 0 12px;
}
.oll-saleday-ics,
.oll-saleday-yukago{
	flex:1 1 auto;
	text-align:center;
	font-size:.9em;
	font-weight:700;
	padding:11px 16px;
	border-radius:6px;
	cursor:pointer;
	text-decoration:none;
	transition:opacity .15s ease, background .15s ease;
}
.oll-saleday-ics{
	background:#a9805b;
	color:#fff;
	border:none;
}
.oll-saleday-ics:hover:not(:disabled){opacity:.9;}
.oll-saleday-ics:disabled{background:#ded8cb;color:#fffdf8;cursor:default;}
.oll-saleday-yukago{
	background:#fff;
	border:1px solid #4e8e8b;
	color:#4e8e8b !important;
}
.oll-saleday-yukago:hover{background:#f0f5f4;}
.oll-saleday-note{
	font-size:.75em;
	color:#8b8578;
	line-height:1.7;
	margin:0;
}

@media (max-width:600px){
	.oll-tray{left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom, 0px));max-width:none;}
	/* テキストを消すと「入れた」かどうかが色でしか分からなくなるので、折り返して残す */
	.oll-card .oll-name-row{flex-wrap:wrap;}
	.oll-card .oll-name-row .oll-name{flex:1 1 100%;}
	.oll-fav{padding:6px 14px;}
	.oll-saleday-date{font-size:1.05em;}
	.oll-saleday-count,.oll-saleday-until{display:block;margin:6px 0 0;width:fit-content;}
}
