
.favorites-main{
  padding-bottom:50px;
  background:#f4f7fb;
  color:#111827;
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic UI","Yu Gothic",Meiryo,sans-serif;
}
.favorites-hero{
  background:
    radial-gradient(circle at 83% 18%,rgba(255,227,130,.26),transparent 27%),
    linear-gradient(120deg,#7a1427 0%,#b31335 52%,#510815 100%);
  color:#fff;
  border-bottom:5px solid #e4ad23;
}
.favorites-hero-inner{
  min-height:270px;
  display:grid;
  grid-template-columns:1fr 290px;
  gap:30px;
  align-items:center;
  padding-top:38px;
  padding-bottom:38px;
}
.favorites-eyebrow{
  display:inline-block;
  padding:8px 14px;
  border:1px solid rgba(255,255,255,.35);
  border-radius:999px;
  background:rgba(50,0,10,.25);
  color:#fff0a6;
  font-weight:900;
}
.favorites-hero h1{
  margin:15px 0 12px;
  font-size:47px;
  line-height:1.2;
  font-weight:900;
  letter-spacing:-.03em;
}
.favorites-hero p{
  max-width:760px;
  margin:0;
  color:#fff3f5;
  font-size:17px;
  line-height:1.8;
  font-weight:650;
}
.favorites-count-box{
  padding:24px;
  border:2px solid #f1cf65;
  border-radius:18px;
  background:linear-gradient(145deg,#fffef8,#fff2c5);
  color:#513500;
  text-align:center;
  box-shadow:0 14px 28px rgba(0,0,0,.2);
}
.favorites-count-box span{display:block;font-weight:800}
.favorites-count-box strong{display:block;margin:9px 0;font-size:42px;color:#b00c2e}
.favorites-count-box small{font-weight:800;color:#66563b}
.favorites-content{padding-top:18px}
.breadcrumb{
  display:flex;
  gap:8px;
  align-items:center;
  padding-bottom:18px;
  color:#536176;
  font-size:14px;
  font-weight:700;
}
.breadcrumb a{color:#155eb5;text-decoration:none;font-weight:800}
.favorites-notice{
  padding:17px 19px;
  border:1px solid #f0d39b;
  border-radius:13px;
  background:#fff8e8;
}
.favorites-notice strong{color:#7a4d00;font-size:16px}
.favorites-notice p{margin:6px 0 0;color:#665534;line-height:1.7;font-weight:600}
.favorites-summary{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin:18px 0;
}
.favorites-summary article{
  padding:17px;
  border:1px solid #dfe6ef;
  border-radius:13px;
  background:#fff;
  box-shadow:0 5px 16px rgba(20,45,80,.05);
}
.favorites-summary span{display:block;color:#667085;font-size:13px;font-weight:700}
.favorites-summary strong{display:block;margin-top:5px;color:#173f72;font-size:30px}
.favorites-section{
  margin-top:20px;
  padding:21px;
  border:1px solid #dfe6ef;
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 24px rgba(20,45,80,.06);
}
.favorites-section-head{
  display:flex;
  justify-content:space-between;
  gap:15px;
  align-items:end;
  margin-bottom:14px;
}
.favorites-section-head h2{margin:0;color:#0d3e77;font-size:23px}
.favorites-section-head p{margin:5px 0 0;color:#667085;font-size:14px}
.favorites-section-head>a{color:#155eb5;text-decoration:none;font-weight:900}
.favorites-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
}
.favorite-card{
  padding:17px;
  border:1px solid #dce5f0;
  border-radius:13px;
  background:#f9fbfe;
}
.favorite-card-top{
  display:flex;
  justify-content:space-between;
  gap:12px;
}
.favorite-card h3{
  margin:0;
  color:#111827;
  font-size:18px;
}
.favorite-card .favorite-rate{
  color:#c91838;
  font-size:23px;
  font-weight:900;
  white-space:nowrap;
}
.favorite-card p{
  margin:9px 0;
  color:#475569;
  font-size:14px;
  line-height:1.7;
  font-weight:600;
}
.favorite-card-actions{
  display:flex;
  gap:8px;
  margin-top:12px;
}
.favorite-card-actions a,
.favorite-card-actions button{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:9px 11px;
  border-radius:8px;
  text-decoration:none;
  font-size:13px;
  font-weight:900;
}
.favorite-card-actions a{background:#155eb5;color:#fff}
.favorite-card-actions button{border:1px solid #adb9c8;background:#fff;color:#334155;cursor:pointer}
.favorites-empty{
  padding:28px;
  text-align:center;
  border:1px dashed #aebac8;
  border-radius:12px;
  color:#69778b;
  background:#fafcff;
}
.favorites-actions{
  margin-top:20px;
  text-align:center;
}
.favorites-actions button{
  padding:11px 17px;
  border:1px solid #aab6c5;
  border-radius:9px;
  background:#fff;
  color:#5b2632;
  font-weight:900;
  cursor:pointer;
}
@media(max-width:850px){
  .favorites-hero-inner{grid-template-columns:1fr}
  .favorites-count-box{max-width:420px}
}
@media(max-width:650px){
  .favorites-hero h1{font-size:35px}
  .favorites-summary,.favorites-grid{grid-template-columns:1fr}
  .favorites-section-head{align-items:flex-start;flex-direction:column}
}
