:root{
  --bg:#f6f0e8;
  --paper:#fffdf8;
  --paper2:#fbf7f0;
  --ink:#11100e;
  --muted:#6f665e;
  --soft:#dfd4c8;
  --line:#d5c9bc;
  --accent:#a66642;
  --accent-dark:#7a3f26;
  --dark:#090908;
  --dark2:#12100e;
  /* .site-header の実際の高さ（scroll-utils.js が resize のたびに最新化する）。
     JS実行前の初期値として、デスクトップの高さ(78px)をフォールバックにしておく。 */
  --header-height:78px;
}
*{box-sizing:border-box}
html{background:var(--bg);scroll-behavior:smooth}
/*
  ページ内アンカー（#justnow など）へジャンプしたとき、position:sticky の
  .site-header の高さ分だけ見出しが隠れてしまうのを防ぐ。
  JavaScript を介さない素のアンカーリンク（<a href="/#calendar"> 等）や、
  別ページから #justnow 付きURLへ遷移した直後のブラウザ標準のジャンプにも効く。
  site-header.js 側のオフセット計算（ヘッダー高さ + 20px）と揃えている。
*/
[id]{
  scroll-margin-top:calc(var(--header-height) + 20px);
}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"Yu Mincho","Hiragino Mincho ProN","Times New Roman",serif;letter-spacing:.02em}
img{display:block;width:100%;height:100%;object-fit:cover}
a{text-decoration:none;color:inherit}
button,input{font:inherit}
button{cursor:pointer}
.page{width:100%;min-width:1180px;background:linear-gradient(90deg,#f8f4ee,#f4ede4 48%,#faf6ef)}
.site-header{
  height:78px;
  padding:0 42px;
  display:grid;
  grid-template-columns:176px 1fr;
  align-items:center;
  background:rgba(252,248,241,.94);
  border-bottom:1px solid rgba(190,174,157,.42);
  position:sticky;
  top:0;
  z-index:200;
  backdrop-filter:blur(14px);
  box-shadow:0 10px 34px rgba(38,25,15,.045);
}
.site-header:before{
  content:"";
  position:absolute;
  left:42px;
  right:42px;
  bottom:-1px;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(100,72,51,.38),transparent);
  pointer-events:none;
}
.brand{
  position:relative;
  z-index:2;
  font-size:34px;
  line-height:1;
  letter-spacing:-.055em;
  font-weight:500;
  color:#11100e;
}
.global-nav{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  min-width:0;
}
.nav-item{
  position:static;
  display:flex;
  align-items:center;
  height:78px;
}
.nav-trigger{
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:0;
  border-radius:999px;
  background:transparent;
  color:#191714;
  padding:0 12px;
  font-size:13px;
  line-height:1;
  letter-spacing:.025em;
  white-space:nowrap;
  transition:background .22s ease,color .22s ease,transform .22s ease;
}
.nav-trigger:hover,
.nav-item:focus-within .nav-trigger{
  background:rgba(25,22,18,.06);
}
.nav-important .nav-trigger{
  padding:0 13px;
  border:0;
  background:transparent;
  color:#8f5433;
  font-weight:700;
  position:relative;
}
.nav-important .nav-trigger:before{
  content:"";
  position:absolute;
  left:14px;
  right:14px;
  bottom:4px;
  height:1px;
  background:rgba(143,84,51,.34);
  transform:scaleX(.72);
  transform-origin:center;
  transition:transform .22s ease,opacity .22s ease;
  opacity:.75;
}
.nav-important .nav-trigger:hover:before,
.nav-important:focus-within .nav-trigger:before{
  transform:scaleX(1);
  opacity:1;
}
.nav-important:nth-of-type(5) .nav-trigger{
  background:#151311;
  border:0;
  color:#fffdf8;
  padding:0 16px;
}
.nav-important:nth-of-type(5) .nav-trigger:before{
  display:none;
}
.nav-action .nav-trigger{
  padding:0 13px;
  color:#4a4038;
}
.nav-action .nav-trigger:after{
  content:"";
  width:6px;
  height:6px;
  border-right:1px solid currentColor;
  border-bottom:1px solid currentColor;
  transform:rotate(45deg);
  margin-left:9px;
  margin-top:-3px;
}
.mega-panel{
  position:absolute;
  left:50%;
  top:78px;
  width:min(1120px,calc(100vw - 84px));
  transform:translate(-50%,10px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .24s ease,transform .24s ease,visibility .24s ease;
  padding-top:12px;
}
.nav-item:hover .mega-panel,
.nav-item:focus-within .mega-panel,
.nav-item.is-open .mega-panel{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate(-50%,0);
}
.mega-inner{
  display:grid;
  grid-template-columns:300px 1fr 220px;
  gap:24px;
  padding:28px 32px 30px;
  background:rgba(255,252,246,.98);
  border:1px solid rgba(190,174,157,.55);
  border-radius:0 0 26px 26px;
  box-shadow:0 28px 70px rgba(43,29,16,.13);
  color:#17120f;
}
.mega-inner:before{
  content:"";
  position:absolute;
}
.mega-kicker{
  margin:0 0 12px;
  font-size:11px;
  font-weight:700;
  letter-spacing:.22em;
  color:#a66642;
}
.mega-lead h2{
  margin:0 0 14px;
  font-size:29px;
  line-height:1.16;
  font-weight:400;
  letter-spacing:.04em;
}
.mega-lead p:last-child{
  margin:0;
  color:#5f554d;
  font-size:13px;
  line-height:1.75;
}
.mega-links{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 12px;
  align-content:start;
}
.mega-links a{
  min-height:42px;
  display:flex;
  align-items:center;
  padding:0 15px;
  border:1px solid rgba(213,201,188,.78);
  background:rgba(255,255,255,.42);
  border-radius:999px;
  font-size:13px;
  line-height:1.2;
  color:#1d1915;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
.mega-links a:hover{
  background:#fff;
  border-color:rgba(121,91,66,.45);
  transform:translateY(-1px);
}
.mega-links-rich{
  grid-template-columns:repeat(3,minmax(172px,1fr));
}
.mega-links-rich a{
  height:auto;
  min-height:70px;
  align-items:flex-start;
  flex-direction:column;
  justify-content:center;
  border-radius:16px;
  padding:12px 14px;
  white-space:normal;
  overflow:hidden;
}
.mega-links-rich span{
  display:block;
  width:100%;
  font-size:13px;
  line-height:1.25;
  margin-bottom:6px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.mega-links-rich small{
  display:block;
  width:100%;
  color:#756a61;
  font-size:10.5px;
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.mega-note{
  position:relative;
  min-height:148px;
  padding:22px;
  border-radius:20px;
  background:
    linear-gradient(135deg,rgba(244,236,226,.96),rgba(255,253,248,.86)),
    repeating-linear-gradient(90deg,rgba(80,60,44,.06) 0 1px,transparent 1px 10px);
  border:1px solid rgba(210,197,184,.75);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}
.mega-note span{
  font-size:11px;
  letter-spacing:.18em;
  color:#a66642;
  font-weight:700;
  margin-bottom:12px;
}
.mega-note strong{
  font-size:18px;
  line-height:1.5;
  font-weight:400;
}
.mega-note-strong{
  background:#171411;
  color:#fff8f0;
  border-color:#171411;
}
.mega-note-strong strong{
  font-size:17px;
}
.mega-gift,
.mega-now{
  grid-template-columns:285px 1fr 220px;
}
.header-search-area{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.header-search-box{
  height:58px;
  display:flex;
  align-items:center;
  gap:15px;
  padding:0 22px;
  border:1px solid rgba(196,178,159,.72);
  background:#fffefa;
  border-radius:999px;
}
.header-search-box .icon-search{
  width:18px;
  height:18px;
}
.header-search-input{
  border:0;
  outline:0;
  flex:1;
  background:transparent;
  font-size:17px;
  min-width:0;
}
.popular-searches{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.popular-searches button{
  height:38px;
  border:1px solid rgba(213,201,188,.82);
  background:rgba(255,255,255,.54);
  border-radius:999px;
  padding:0 15px;
  color:#332b24;
  font-size:13px;
}
.search-mega{
  grid-template-columns:275px 1fr;
}
.menu-mega{
  grid-template-columns:295px 1fr;
}
.menu-links{
  grid-template-columns:repeat(4,minmax(132px,1fr));
}
.icon-search{width:18px;height:18px;border:2px solid currentColor;border-radius:50%;position:relative;display:inline-block;flex:none}.icon-search:after{content:"";position:absolute;width:9px;height:2px;background:currentColor;right:-6px;bottom:-4px;transform:rotate(45deg)}.icon-search.large{width:30px;height:30px;border-width:3px;color:#111}.icon-search.large:after{width:13px;height:3px;right:-9px;bottom:-6px}.icon-menu{width:26px;height:17px;border-top:2px solid currentColor;border-bottom:2px solid currentColor;display:inline-block;position:relative}.icon-menu:after{content:"";position:absolute;left:0;top:6px;width:26px;height:2px;background:currentColor}
.eyebrow{margin:0;color:var(--accent);font-size:13px;font-weight:700;letter-spacing:.18em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-width:180px;height:50px;padding:0 28px;border-radius:4px;font-size:15px;border:1px solid transparent}.btn:after{content:"→";font-size:18px}.btn-black{background:#0d0c0b;color:#fff;border-color:#0d0c0b}.btn-outline{border-color:rgba(255,255,255,.32);color:#fff;background:transparent;border-radius:999px}.btn-copper{background:linear-gradient(90deg,#9a5733,#c56f3e);color:#fff}.btn-line-dark{border-color:#8b7a67;color:#111;background:transparent}.dark{background:var(--dark);color:#f7f0e8}.section{padding:58px 54px}.glass-card{background:rgba(255,253,248,.9);border:1px solid var(--line);border-radius:26px;box-shadow:0 18px 60px rgba(67,47,28,.06)}

.hero{height:655px;position:relative;overflow:hidden;background:#f4eee6}.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:76% 43%;filter:grayscale(100%);transform:scale(1.02)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(248,244,238,.98) 0%,rgba(248,244,238,.96) 25%,rgba(248,244,238,.7) 43%,rgba(248,244,238,.04) 67%,rgba(248,244,238,0) 100%)}.hero-shade:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 45%,rgba(255,255,255,.25),transparent 46%)}.hero-copy{position:relative;z-index:2;width:540px;padding-left:78px;padding-top:90px}.hero-copy h1{font-size:92px;line-height:1.13;font-weight:400;letter-spacing:.04em;margin:28px 0 28px}.hero-copy .lead{font-size:24px;line-height:1.5;margin:0 0 24px}.body-copy{font-size:16px;line-height:2;color:#17120f;margin:0 0 34px}

.interview{height:390px;padding:42px 78px 38px;display:grid;grid-template-columns:350px 1fr 300px;gap:54px;align-items:start}.interview-copy h2{font-size:42px;line-height:1.45;font-weight:400;margin:32px 0 24px;color:#fff}.interview-copy p:not(.eyebrow){font-size:14px;line-height:1.9;color:#d9d0c8;margin:0 0 34px}.play-mini{width:0;height:0;border-left:12px solid currentColor;border-top:8px solid transparent;border-bottom:8px solid transparent;display:inline-block}.movie-card{position:relative;width:430px;justify-self:center}.movie-card img{height:245px;filter:saturate(.9) contrast(.95)}.play-circle{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);width:86px;height:86px;border:3px solid #fff;border-radius:50%;background:rgba(0,0,0,.18)}.play-circle:before{content:"";position:absolute;left:34px;top:25px;border-left:24px solid #fff;border-top:16px solid transparent;border-bottom:16px solid transparent}.dots{display:flex;justify-content:center;gap:13px;margin-top:20px}.dots span{width:12px;height:12px;border-radius:50%;background:#d9d2ca}.dots .active{width:34px;border-radius:20px;background:#d6773e}.next-episode{border-left:1px solid rgba(255,255,255,.23);padding-left:42px;min-height:302px}.next-episode img{height:124px;margin:25px 0 20px;border-radius:4px}.next-line{font-size:17px;color:#efe9e2}.next-line span{color:#d77740;margin-right:12px;font-size:13px}.muted{font-size:14px;color:#d9d0c8;line-height:1.55}.next-episode h3{font-weight:400;font-size:38px;margin:14px 0 8px;color:#fff}.next-episode h3 small{font-size:16px}.remind{margin-top:10px;width:100%;height:42px;border:1px solid rgba(255,255,255,.26);background:transparent;color:#ddd;border-radius:4px}

.search-panel{position:relative;width:1110px;margin:-80px auto 42px;padding:30px 56px 36px;border:1px solid var(--line);border-radius:26px;background:rgba(255,253,248,.94);box-shadow:0 22px 80px rgba(50,35,20,.16);z-index:10}.ornament-line{display:flex;align-items:center;gap:22px;justify-content:center}.ornament-line span{width:78px;height:1px;background:#c7b9aa}.ornament-line h2{font-size:38px;font-weight:400;margin:0}.panel-sub{text-align:center;font-size:15px;color:#6c6258;margin:8px 0 24px}.search-main{display:grid;grid-template-columns:1fr 180px;gap:14px}.search-box{height:72px;border:1px solid var(--line);border-radius:999px;background:#fffdf9;display:flex;align-items:center;padding:0 32px}.search-box input{border:0;outline:0;background:transparent;font-size:18px;flex:1;margin-left:22px}.search-main button{border:0;border-radius:999px;background:linear-gradient(90deg,#7a3f26,#a76642);color:#fff;font-size:18px}.filter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:16px}.filter-btn{height:62px;border:1px solid var(--line);background:#fcfaf6;border-radius:10px;text-align:left;padding:0 22px;font-size:16px}.filter-btn span{display:block;font-size:11px;color:#746a61;margin-top:3px}.filter-btn.selected{border-color:#a66642;background:#f7eee7}.keywords{margin-top:20px;display:grid;grid-template-columns:130px 1fr;gap:18px;align-items:center;border-top:1px solid #ddd2c6;padding-top:18px}.keywords>span{font-size:13px;color:#6b6259}.chip-row,.tabs,.month-tabs,.station-tabs{display:flex;gap:10px;flex-wrap:wrap}.chip-row button,.tabs button,.month-tabs button,.station-tabs button{height:36px;padding:0 18px;border-radius:999px;border:1px solid var(--line);background:#fffdf9;color:#5e554c}.chip-row .active,.tabs .active,.month-tabs .active,.station-tabs .active{background:#a66642;color:#fff;border-color:#a66642}

.today-row{display:grid;grid-template-columns:470px 1fr;gap:28px}.today-card{padding:42px;position:relative;min-height:522px;overflow:hidden}.today-card h2{font-size:40px;font-weight:400;margin:18px 0 26px}.thin-line{height:1px;background:#d9cec2;margin-bottom:30px}.date-block{display:flex;align-items:baseline;gap:22px;margin-bottom:22px}.date-block strong{font-size:76px;font-weight:400;letter-spacing:.05em}.date-block small{font-size:18px}.today-card h3{font-size:48px;font-weight:400;margin:0 0 24px}.today-card p:not(.eyebrow){font-size:16px;line-height:1.9;color:#504842;max-width:330px;margin:0 0 32px}.thank-stamp{position:absolute;right:36px;bottom:36px;width:150px;height:150px;border:1px solid rgba(166,102,66,.24);border-radius:50%;display:flex;align-items:center;justify-content:center;color:rgba(166,102,66,.36);font-style:italic;font-size:20px;transform:rotate(-12deg)}.daily-slider{padding:42px;overflow:hidden}.section-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}.section-title-row h2{font-size:40px;font-weight:400;margin:0}.slider-actions{display:flex;gap:10px}.slider-actions button{width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:#fffdf9;position:relative}.slider-actions button:before{content:"";position:absolute;left:14px;top:12px;width:11px;height:11px;border-top:2px solid #111;border-right:2px solid #111;transform:rotate(45deg)}.slider-actions button:first-child:before{left:16px;transform:rotate(-135deg)}.slider-window{overflow:hidden}.slider-track{display:flex;gap:18px;transition:transform .35s ease}.daily-item{flex:0 0 calc((100% - 36px)/3);border:1px solid var(--line);border-radius:16px;background:#fffdf9;overflow:hidden;min-height:370px}.daily-item img{height:178px}.daily-item .item-body{padding:20px}.daily-item h3{font-size:24px;line-height:1.42;font-weight:400;margin:0 0 12px}.daily-item p{font-size:14px;line-height:1.7;color:#665d55;margin:0 0 22px}.daily-item a{font-size:20px}

.calendar-section{display:grid;grid-template-columns:260px 1fr;gap:34px}.calendar-intro h2{font-size:42px;font-weight:400;margin:16px 0 20px}.calendar-intro p:not(.eyebrow){font-size:15px;line-height:1.9;color:#665d55}.calendar-board{padding:28px}.calendar-head{display:grid;grid-template-columns:40px auto 40px 1fr;align-items:center;gap:12px;margin-bottom:20px}.month-nav{width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:#fffdf9}.calendar-head h3{font-size:30px;font-weight:400;margin:0}.month-tabs{justify-content:flex-end}.weekday,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.weekday span{text-align:center;font-size:12px;color:#867c72;padding:0 0 10px}.day-cell{height:88px;border:1px solid #ded3c7;margin:-1px 0 0 -1px;background:#fffdf9;padding:8px}.day-cell button{width:100%;height:100%;border:0;background:transparent;text-align:left;padding:0;display:flex;flex-direction:column;gap:8px}.day-cell.muted{background:#f2ece5}.day-num{font-size:16px}.day-event{font-size:11px;line-height:1.35;color:#5e554c;display:block}.day-cell.featured{background:#fbf0e7}.day-cell:hover{background:#f7eee7}

.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;margin-bottom:28px}.section-heading h2{font-size:44px;font-weight:400;margin:10px 0 10px}.section-heading p:not(.eyebrow){font-size:15px;color:#665d55;margin:0}.gift-focus{overflow:hidden}.gift-category-tabs{justify-content:flex-end;gap:8px}.gift-category-tabs button{transition:background .25s ease,color .25s ease,border-color .25s ease,transform .25s ease}.gift-category-tabs button:hover{transform:translateY(-1px)}.product-showcase{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 2px;padding:2px 0 20px;margin-right:calc((100vw - min(1180px, 100vw - 80px)) / -2);opacity:0;transform:translateY(8px);transition:opacity .28s ease,transform .28s ease;-webkit-overflow-scrolling:touch}.product-showcase.is-visible{opacity:1;transform:translateY(0)}.product-showcase::-webkit-scrollbar{height:6px}.product-showcase::-webkit-scrollbar-track{background:#eee6db;border-radius:999px}.product-showcase::-webkit-scrollbar-thumb{background:#b9997f;border-radius:999px}.gift-card{position:relative;flex:0 0 292px;aspect-ratio:3/4;border-radius:22px;overflow:hidden;background:#16110e;color:#fff;scroll-snap-align:start;box-shadow:0 18px 44px rgba(45,33,22,.18);isolation:isolate}.gift-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.86) contrast(.96);transition:transform .6s ease}.gift-card:hover img{transform:scale(1.035)}.gift-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.03) 0%,rgba(0,0,0,.04) 46%,rgba(0,0,0,.72) 100%);z-index:1}.gift-card-overlay{position:absolute;left:22px;right:22px;bottom:22px;z-index:2}.gift-card-overlay span{display:inline-flex;margin-bottom:12px;padding:5px 11px;border:1px solid rgba(255,255,255,.46);border-radius:999px;background:rgba(0,0,0,.18);backdrop-filter:blur(6px);font-size:11px;letter-spacing:.12em;color:#fff}.gift-card-overlay h3{margin:0 0 8px;font-size:25px;font-weight:400;line-height:1.34;letter-spacing:.02em;color:#fff}.gift-card-overlay p{margin:0 0 14px;font-size:13px;line-height:1.65;color:rgba(255,255,255,.86);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.gift-card-overlay strong{font-size:25px;font-weight:400;letter-spacing:.02em;color:#fff}

.article-layout{display:grid;grid-template-columns:1.12fr .88fr .88fr;gap:20px}.card-media{border:1px solid var(--line);border-radius:18px;overflow:hidden;background:#fffdf9}.article-main{grid-row:span 2}.article-main img{height:335px}.article-main div{padding:28px}.article-main h3{font-size:38px;line-height:1.35;font-weight:400;margin:14px 0}.article-main p:not(.eyebrow){font-size:15px;line-height:1.8;color:#665d55}.article-small img{height:180px}.article-small div{padding:20px}.article-small h3{font-size:25px;line-height:1.42;font-weight:400;margin:12px 0 18px}.article-small a,.article-main a{font-size:14px}

.just-head{display:flex;justify-content:space-between;gap:30px;align-items:flex-end;margin-bottom:24px}.just-head h2{font-size:44px;font-weight:400;margin:10px 0}.just-head p:not(.eyebrow){color:#665d55}.quick-layout{display:grid;grid-template-columns:460px 1fr;gap:24px}.quick-feature{border:1px solid var(--line);border-radius:20px;background:#fffdf9;overflow:hidden}.quick-feature img{height:255px}.quick-feature div{padding:26px}.quick-feature h3{font-size:32px;font-weight:400;margin:10px 0}.quick-feature ul,.quick-list ul{list-style:none;padding:0;margin:12px 0;color:#665d55;font-size:13px;line-height:1.8}.quick-feature strong{font-size:30px;font-weight:400}.quick-list{display:grid;grid-template-columns:1fr 1fr;gap:16px}.quick-list article{display:grid;grid-template-columns:150px 1fr;border:1px solid var(--line);border-radius:16px;background:#fffdf9;overflow:hidden;min-height:158px}.quick-list img{height:100%}.quick-list div{padding:16px}.quick-list h3{font-size:17px;line-height:1.35;font-weight:400;margin:0 0 8px}.quick-list strong{font-size:20px;font-weight:400}

.ranking{padding-top:48px;padding-bottom:50px}.light h2,.light a{color:#fff}.ranking-row{display:grid;grid-template-columns:repeat(5,1fr);gap:24px}.ranking-row b{display:block;color:#d88642;font-size:32px;font-weight:400;margin-bottom:10px}.ranking-row img{height:190px;border-radius:4px}.ranking-row h3{font-size:18px;font-weight:400;color:#fff;margin:14px 0 7px}.ranking-row p{color:#fff;margin:0}.about-section{position:relative;height:450px;overflow:hidden;background:#eee6dc}.about-section img{position:absolute;inset:0;object-position:center right;filter:saturate(.9) contrast(.96)}.about-section:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(248,244,238,.98) 0%,rgba(248,244,238,.86) 37%,rgba(248,244,238,.12) 72%,rgba(248,244,238,0))}.about-copy{position:relative;z-index:2;width:520px;padding:72px 0 0 78px}.about-copy h2{font-size:60px;font-weight:400;margin:18px 0}.about-copy p:not(.eyebrow){font-size:17px;line-height:2;color:#39342f}.newsletter{display:grid;grid-template-columns:1fr 500px;align-items:center;gap:40px;padding:36px 78px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fbf7f0}.newsletter h2{font-size:36px;font-weight:400;margin:8px 0}.newsletter p:not(.eyebrow){color:#665d55}.newsletter form{display:grid;grid-template-columns:1fr 160px;gap:14px}.newsletter input{height:56px;border:1px solid var(--line);background:#fffdf9;padding:0 18px}.newsletter button{border:0;background:#111;color:#fff}.footer{padding:40px 78px 28px;background:#f8f3ec}.footer{display:grid;grid-template-columns:280px 1fr;gap:40px}.footer-brand h2{font-size:52px;font-weight:400;margin:0 0 8px}.footer-brand p{margin:0;color:#665d55}.footer-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.footer-cols h3{font-size:16px;margin:0 0 15px}.footer-cols a{display:block;font-size:13px;line-height:1.9;color:#665d55}.footer-bottom{grid-column:1/-1;margin-top:28px;padding-top:18px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;color:#665d55}.top-button{width:40px;height:40px;border:1px solid var(--line);border-radius:50%;background:#fffdf9}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.55);display:none;align-items:center;justify-content:center;z-index:100;padding:24px}.modal.open{display:flex}.modal-box{background:#fffdf9;border:1px solid var(--line);border-radius:18px;min-width:420px;max-width:620px;padding:34px;position:relative}.modal-close{position:absolute;right:16px;top:12px;border:0;background:transparent;font-size:28px}.modal-box h2{font-size:34px;font-weight:400;margin:0 0 14px}.modal-products{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:18px}.modal-products article{border:1px solid var(--line);border-radius:12px;overflow:hidden}.modal-products img{height:100px}.modal-products h3{font-size:15px;line-height:1.35;margin:10px}.video-box{background:#111;color:#fff}.video-placeholder{height:280px;background:linear-gradient(135deg,#2b2724,#111);display:flex;align-items:center;justify-content:center;margin:18px 0}.video-placeholder span{width:78px;height:78px;border:2px solid #fff;border-radius:50%;position:relative}.video-placeholder span:before{content:"";position:absolute;left:31px;top:22px;border-left:22px solid #fff;border-top:15px solid transparent;border-bottom:15px solid transparent}.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:#111;color:#fff;border-radius:999px;padding:13px 20px;opacity:0;transition:.2s;z-index:200;pointer-events:none}.toast.show{opacity:1}
@media(max-width:900px){.page{min-width:0}.site-header{grid-template-columns:1fr auto;height:64px;padding:0 22px}.global-nav{display:none}.brand{font-size:30px}.hero{height:680px}.hero-copy{padding-left:28px;width:86%;padding-top:70px}.hero-copy h1{font-size:58px}.interview,.today-row,.calendar-section,.product-showcase,.article-layout,.quick-layout,.newsletter,.footer{grid-template-columns:1fr}.search-panel{width:auto;margin:-42px 20px 36px;padding:26px}.filter-grid,.product-grid,.quick-list,.ranking-row,.footer-cols{grid-template-columns:1fr 1fr}.daily-item{flex-basis:80%}.section{padding:40px 20px}.article-main{grid-row:auto}}

/* final PC polish pass */
.hero{height:620px;}
.hero-img{object-position:78% 0%;transform:scale(1.015);}
.hero-shade{background:linear-gradient(90deg,rgba(248,244,238,.99) 0%,rgba(248,244,238,.98) 28%,rgba(248,244,238,.74) 45%,rgba(248,244,238,.10) 68%,rgba(248,244,238,0) 100%)}
.hero-copy{padding-top:78px;}
.interview{height:430px;padding-top:48px;padding-bottom:70px;}
.search-panel{margin:-42px auto 50px;}
.next-episode .btn-copper{position:relative;z-index:2;}
.daily-slider{min-width:0;}
.daily-item{min-width:0;}
.daily-item h3,.product-tile h3,.article-small h3,.quick-list h3{overflow-wrap:break-word;word-break:keep-all;}
.calendar-intro h2{word-break:keep-all;line-height:1.2;}
.article-layout img,.product-showcase img,.quick-layout img,.ranking-row img{background:#e7ded3;}


/* TOP making exact rebuild v2
   - Generated reference visual is used directly so the first view does not drift.
   - The movement is applied as a very subtle making-video style layer.
*/
.hero.hero-making{
  position:relative;
  height:clamp(650px,57.15vw,860px);
  min-height:650px;
  overflow:hidden;
  background:#e8e0d6;
  isolation:isolate;
}
.hero-making-frame{
  position:absolute;
  inset:0;
  overflow:hidden;
  background:#e8e0d6;
}
.hero-making-img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  filter:contrast(1.015) saturate(.92);
  transform:scale(1.002);
  animation:makingBreath 16s ease-in-out infinite alternate;
  will-change:transform,filter;
}

.hero-making-video{
  display:block;
  background:#e8e0d6;
}
.hero-film-grain{
  position:absolute;
  inset:-20%;
  pointer-events:none;
  opacity:.115;
  mix-blend-mode:multiply;
  background-image:
    radial-gradient(circle at 18% 22%, rgba(255,255,255,.22) 0 1px, transparent 1px),
    radial-gradient(circle at 72% 64%, rgba(0,0,0,.16) 0 1px, transparent 1px),
    radial-gradient(circle at 44% 35%, rgba(0,0,0,.10) 0 1px, transparent 1px);
  background-size:12px 12px,17px 17px,23px 23px;
  animation:grainDrift 1.8s steps(2,end) infinite;
}
.hero-light-breath{
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(105deg,rgba(255,250,241,.16) 0%,rgba(255,250,241,0) 34%,rgba(0,0,0,.10) 100%),
    radial-gradient(circle at 69% 47%,rgba(255,255,255,.06),transparent 34%),
    radial-gradient(circle at 78% 82%,rgba(0,0,0,.18),transparent 42%);
  opacity:.72;
  animation:lightBreath 8.5s ease-in-out infinite alternate;
}
.hero-scroll-mark{
  position:absolute;
  left:8.3%;
  bottom:7.8%;
  z-index:3;
  font-size:11px;
  letter-spacing:.22em;
  color:rgba(20,17,14,.52);
  transform:translateY(0);
  animation:scrollPulse 2.3s ease-in-out infinite;
}
.hero-scroll-mark:after{
  content:"";
  display:inline-block;
  width:74px;
  height:1px;
  margin-left:16px;
  vertical-align:middle;
  background:rgba(20,17,14,.34);
}
.hero-cta-hotspot{
  position:absolute;
  z-index:5;
  left:8.3%;
  top:76.4%;
  width:342px;
  height:67px;
  border-radius:5px;
}
.hero-cta-hotspot:hover{
  box-shadow:0 0 0 1px rgba(255,255,255,.18),0 14px 34px rgba(0,0,0,.18);
}
@keyframes makingBreath{
  0%{transform:scale(1.002) translate3d(0,0,0);filter:contrast(1.01) saturate(.91);}
  45%{transform:scale(1.015) translate3d(-.35%,.12%,0);filter:contrast(1.025) saturate(.93);}
  100%{transform:scale(1.024) translate3d(.28%,-.18%,0);filter:contrast(1.018) saturate(.90);}
}
@keyframes grainDrift{
  0%{transform:translate3d(0,0,0);}
  50%{transform:translate3d(-8px,5px,0);}
  100%{transform:translate3d(6px,-6px,0);}
}
@keyframes lightBreath{
  from{opacity:.58;filter:blur(0);}
  to{opacity:.82;filter:blur(.4px);}
}
@keyframes scrollPulse{
  0%,100%{opacity:.44;transform:translateY(0);}
  50%{opacity:.82;transform:translateY(6px);}
}

/* Prevent older hero rules from leaking into the exact TOP view */
.hero.hero-making .hero-img,
.hero.hero-making .hero-shade,
.hero.hero-making .hero-copy{
  display:none!important;
}

/* SP-readiness base. Full responsive pass will be handled after all PC sections are approved. */
@media(max-width:900px){
  .hero.hero-making{
    height:760px;
    min-height:760px;
  }
  .hero-making-img{
    object-fit:cover;
    object-position:58% center;
    animation:makingBreathMobile 16s ease-in-out infinite alternate;
  }
  .hero-cta-hotspot{
    left:9%;
    top:72.5%;
    width:290px;
    height:58px;
  }
  .hero-scroll-mark{
    left:9%;
    bottom:7%;
  }
}
@keyframes makingBreathMobile{
  0%{transform:scale(1.035) translate3d(0,0,0);}
  100%{transform:scale(1.065) translate3d(-1.2%,-.4%,0);}
}


/* interview section v1 */
.interview-series{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 18% 6%,rgba(118,83,55,.24),transparent 28%),
    linear-gradient(180deg,#0b0a09 0%,#11100e 58%,#0a0908 100%);
  color:#f7efe7;
  padding:78px 64px 68px;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.interview-series:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px);
  background-size:74px 74px;
  opacity:.18;
  mask-image:linear-gradient(180deg,transparent,black 16%,black 82%,transparent);
}
.series-shell{position:relative;z-index:1;max-width:1360px;margin:0 auto;}
.series-head{display:grid;grid-template-columns:minmax(420px,620px) 430px;justify-content:space-between;gap:48px;align-items:end;margin-bottom:38px;}
.series-head h2{font-size:58px;line-height:1.25;font-weight:400;letter-spacing:.035em;margin:16px 0 0;color:#fff;}
.series-intro{font-size:15px;line-height:2;color:#c9beb4;margin:0 0 8px;max-width:430px;}
.series-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:28px;align-items:stretch;}
.latest-interview{display:grid;grid-template-columns:minmax(500px,1.24fr) minmax(300px,.76fr);min-height:500px;background:#151311;border:1px solid rgba(239,222,207,.18);box-shadow:0 26px 90px rgba(0,0,0,.34);}
.latest-media{position:relative;overflow:hidden;background:#050505;}
.latest-media img{width:100%;height:100%;min-height:500px;object-fit:cover;object-position:center;filter:saturate(.82) contrast(1.05) brightness(.78);transform:scale(1.01);}
.latest-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.12) 55%,rgba(0,0,0,.55) 100%);pointer-events:none;}
.media-label{position:absolute;left:24px;top:24px;border:1px solid rgba(255,255,255,.26);background:rgba(11,10,9,.56);backdrop-filter:blur(10px);font-size:11px;letter-spacing:.18em;color:#f8eee4;padding:9px 12px;}
.video-hotspot{position:absolute;inset:0;border:0;background:transparent;z-index:4;cursor:pointer;}
.video-hotspot:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:108px;height:108px;border-radius:50%;border:1px solid rgba(255,255,255,.82);background:rgba(10,9,8,.28);box-shadow:0 0 0 11px rgba(255,255,255,.08);transition:transform .28s ease,background .28s ease;}
.video-hotspot:before{content:"";position:absolute;left:calc(50% + 5px);top:50%;transform:translate(-50%,-50%);border-left:29px solid #fff;border-top:19px solid transparent;border-bottom:19px solid transparent;z-index:5;}
.latest-media:hover .video-hotspot:after{transform:translate(-50%,-50%) scale(1.055);background:rgba(166,102,66,.34);}
.latest-copy{padding:46px 38px 40px;display:flex;flex-direction:column;justify-content:center;border-left:1px solid rgba(239,222,207,.14);}
.episode-tag{font-size:11px;letter-spacing:.18em;color:#b98158;margin:0 0 22px;}
.latest-copy h3{font-size:38px;line-height:1.42;font-weight:400;letter-spacing:.04em;margin:0 0 22px;color:#fff;word-break:keep-all;}
.guest-name{font-size:18px;line-height:1.5;margin:0 0 18px;color:#f7efe7;}
.guest-name span,.next-guest span{font-size:11px;letter-spacing:.16em;color:#c36f3d;margin-right:10px;}
.guest-name small,.next-guest small{font-size:13px;color:#a99c90;margin-left:10px;}
.guest-desc{font-size:14px;line-height:2;color:#c9beb4;margin:0 0 30px;}
.series-cta{height:48px;width:210px;border:1px solid #a66642;background:transparent;color:#fff;border-radius:0;font-size:14px;letter-spacing:.06em;transition:.25s ease;}
.series-cta:after{content:"→";margin-left:18px;}
.series-cta:hover{background:#a66642;color:#fff;}
.next-card{background:linear-gradient(180deg,#191612,#100f0d);border:1px solid rgba(239,222,207,.2);padding:22px;box-shadow:0 22px 70px rgba(0,0,0,.32);}
.next-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;}
.next-card-top span{font-size:12px;color:#b9aa9d;}
.next-card img{height:190px;border:1px solid rgba(255,255,255,.08);filter:saturate(.92) contrast(1.04);}
.next-card-body{padding-top:20px;}
.next-guest{font-size:16px;margin:0 0 18px;color:#fff;}
.next-card h3{font-size:25px;line-height:1.48;font-weight:400;letter-spacing:.04em;margin:0 0 20px;}
.next-card dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 18px;}
.next-card dl div{border-top:1px solid rgba(255,255,255,.14);padding-top:10px;}
.next-card dt{font-size:11px;color:#8d8177;margin-bottom:6px;}
.next-card dd{margin:0;font-size:15px;color:#fff;}
.next-note{font-size:13px;line-height:1.85;color:#c7b9ac;margin:0 0 18px;}
.next-card .remind{height:44px;width:100%;border:1px solid rgba(255,255,255,.26);background:rgba(255,255,255,.04);color:#f4ede6;}
.archive-block{margin-top:34px;border:1px solid rgba(239,222,207,.18);background:rgba(255,255,255,.035);padding:26px 28px 30px;}
.archive-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:20px;}
.archive-head h3{font-size:34px;line-height:1.2;font-weight:400;margin:8px 0 0;color:#fff;}
.archive-head a{font-size:14px;color:#e4d7cb;border-bottom:1px solid rgba(228,215,203,.55);padding-bottom:5px;}
.archive-rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
.archive-jacket{position:relative;min-width:0;background:#13110f;border:1px solid rgba(239,222,207,.18);overflow:hidden;transition:transform .24s ease,border-color .24s ease;}
.archive-jacket:hover{transform:translateY(-4px);border-color:rgba(198,111,62,.64);}
.archive-jacket .vol{position:absolute;left:14px;top:14px;z-index:2;font-size:11px;letter-spacing:.14em;color:#fff;background:rgba(0,0,0,.46);border:1px solid rgba(255,255,255,.24);padding:7px 9px;}
.archive-jacket img{height:170px;filter:saturate(.78) contrast(1.04) brightness(.78);}
.archive-jacket div{padding:18px 18px 20px;}
.archive-jacket p{font-size:11px;letter-spacing:.16em;color:#b98158;margin:0 0 12px;}
.archive-jacket h4{font-size:21px;line-height:1.35;font-weight:400;margin:0 0 10px;color:#fff;}
.archive-jacket strong{display:block;min-height:54px;font-size:15px;line-height:1.55;font-weight:400;color:#e8ddd3;margin-bottom:14px;word-break:keep-all;}
.archive-jacket small{display:block;font-size:12px;color:#91857b;margin-bottom:16px;}
.archive-jacket a{display:inline-flex;align-items:center;gap:10px;color:#fff;font-size:13px;}
.archive-jacket a:after{content:"→";}
.internal-note{margin-top:28px;padding:22px 26px;border-left:1px solid #a66642;background:rgba(255,253,248,.055);}
.internal-note p:last-child{margin:8px 0 0;font-size:13px;line-height:1.95;color:#cbbeb2;}
@media(max-width:900px){
  .interview-series{padding:52px 22px;}
  .series-head,.series-grid,.latest-interview{grid-template-columns:1fr;}
  .series-head h2{font-size:38px;}
  .latest-media img{min-height:340px;}
  .latest-copy{border-left:0;border-top:1px solid rgba(239,222,207,.14);padding:30px 24px;}
  .latest-copy h3{font-size:28px;}
  .archive-rail{display:flex;overflow-x:auto;gap:14px;padding-bottom:8px;}
  .archive-jacket{flex:0 0 260px;}
}
/* prevent duplicate play icon on interview thumbnail; source image already includes play mark */
.video-hotspot:before,.video-hotspot:after{display:none!important;}
.latest-media:hover img{filter:saturate(.88) contrast(1.08) brightness(.88);transform:scale(1.025);transition:.45s ease;}



/* interview section fixed v2 */
.interview-issue{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 16% 0%,rgba(128,84,52,.26),transparent 30%),
    linear-gradient(180deg,#090807 0%,#11100e 56%,#090807 100%);
  color:#f7efe7;
  padding:82px 64px 74px;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.interview-issue:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px),
    linear-gradient(rgba(255,255,255,.026) 1px,transparent 1px);
  background-size:78px 78px;
  opacity:.16;
  mask-image:linear-gradient(180deg,transparent,black 16%,black 86%,transparent);
}
.interview-issue-inner{
  position:relative;
  z-index:1;
  max-width:1360px;
  margin:0 auto;
}
.interview-issue-head{
  display:grid;
  grid-template-columns:minmax(0,640px) minmax(280px,430px);
  justify-content:space-between;
  align-items:end;
  gap:44px;
  margin-bottom:38px;
}
.interview-issue-head h2{
  margin:16px 0 0;
  color:#fff;
  font-size:clamp(42px,4.2vw,62px);
  line-height:1.18;
  font-weight:400;
  letter-spacing:.035em;
}
.interview-issue-lead{
  margin:0 0 8px;
  max-width:430px;
  color:#cec3b9;
  font-size:15px;
  line-height:1.95;
}
.interview-feature-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 342px;
  gap:28px;
  align-items:stretch;
}
.interview-feature-card{
  min-width:0;
  overflow:hidden;
  background:#151311;
  border:1px solid rgba(239,222,207,.2);
  box-shadow:0 26px 90px rgba(0,0,0,.34);
}
.interview-feature-media{
  position:relative;
  overflow:hidden;
  background:#050505;
  aspect-ratio:16/8.7;
}
.interview-feature-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:saturate(.86) contrast(1.06) brightness(.82);
  transform:scale(1.01);
  transition:transform .45s ease,filter .45s ease;
}
.interview-feature-media:hover img{
  transform:scale(1.025);
  filter:saturate(.92) contrast(1.08) brightness(.9);
}
.interview-media-label{
  position:absolute;
  left:24px;
  top:24px;
  border:1px solid rgba(255,255,255,.24);
  background:rgba(11,10,9,.58);
  backdrop-filter:blur(10px);
  font-size:11px;
  letter-spacing:.18em;
  color:#f8eee4;
  padding:9px 12px;
}
.interview-play{
  position:absolute;
  inset:0;
  border:0;
  background:transparent;
  z-index:5;
  cursor:pointer;
}
.interview-feature-copy{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:30px;
  padding:30px 34px 32px;
  border-top:1px solid rgba(239,222,207,.14);
}
.episode-tag{
  font-size:11px;
  letter-spacing:.18em;
  color:#b98158;
  margin:0 0 16px;
}
.interview-feature-copy h3{
  margin:0 0 18px;
  max-width:100%;
  color:#fff;
  font-size:clamp(30px,2.7vw,42px);
  line-height:1.36;
  font-weight:400;
  letter-spacing:.025em;
  overflow-wrap:break-word;
  word-break:normal;
}
.guest-name{
  margin:0;
  color:#f7efe7;
  font-size:18px;
  line-height:1.55;
}
.guest-name span,
.next-guest span{
  color:#c36f3d;
  font-size:11px;
  letter-spacing:.16em;
  margin-right:10px;
}
.guest-name small,
.next-guest small{
  color:#a99c90;
  font-size:13px;
  margin-left:10px;
}
.feature-detail{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:18px;
  min-width:0;
}
.feature-detail p{
  margin:0;
  color:#c9beb4;
  font-size:14px;
  line-height:1.9;
}
.series-cta{
  width:210px;
  height:48px;
  border:1px solid #a66642;
  background:transparent;
  color:#fff;
  border-radius:0;
  font-size:14px;
  letter-spacing:.06em;
}
.series-cta:after{content:"→";margin-left:18px;}
.interview-next-card{
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(239,222,207,.2);
  background:linear-gradient(180deg,#1a1714,#100f0d);
  box-shadow:0 18px 70px rgba(0,0,0,.28);
}
.next-card-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  padding:22px 22px 18px;
}
.next-card-top span{
  color:#8f847a;
  font-size:12px;
  letter-spacing:.12em;
}
.interview-next-card>img{
  width:100%;
  height:186px;
  object-fit:cover;
  filter:saturate(.86) contrast(1.04) brightness(.88);
}
.next-card-body{
  padding:22px;
}
.next-guest{
  margin:0 0 14px;
  font-size:17px;
  line-height:1.45;
}
.interview-next-card h3{
  margin:0 0 18px;
  color:#fff;
  font-size:24px;
  line-height:1.45;
  font-weight:400;
  overflow-wrap:break-word;
}
.interview-next-card dl{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin:0 0 18px;
}
.interview-next-card dt{
  color:#8f847a;
  font-size:11px;
  margin-bottom:5px;
}
.interview-next-card dd{
  margin:0;
  color:#fff;
  font-size:15px;
}
.next-note{
  margin:0 0 22px;
  color:#c9beb4;
  font-size:13px;
  line-height:1.75;
}
.remind{
  width:100%;
  height:44px;
  border:1px solid rgba(166,102,66,.74);
  background:rgba(166,102,66,.08);
  color:#fff;
  border-radius:0;
  font-size:13px;
}
.interview-archive{
  margin-top:30px;
  border:1px solid rgba(239,222,207,.18);
  background:rgba(255,255,255,.035);
  padding:26px 28px 30px;
}
.archive-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:24px;
  margin-bottom:20px;
}
.archive-head h3{
  margin:8px 0 0;
  color:#fff;
  font-size:34px;
  line-height:1.2;
  font-weight:400;
}
.archive-head a{
  color:#e4d7cb;
  font-size:14px;
  border-bottom:1px solid rgba(228,215,203,.55);
  padding-bottom:5px;
  white-space:nowrap;
}
.archive-rail{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:260px;
  gap:16px;
  overflow-x:auto;
  overflow-y:hidden;
  padding-bottom:8px;
  scrollbar-width:thin;
}
.archive-jacket{
  position:relative;
  min-width:0;
  overflow:hidden;
  background:#13110f;
  border:1px solid rgba(239,222,207,.18);
  transition:transform .24s ease,border-color .24s ease;
}
.archive-jacket:hover{
  transform:translateY(-4px);
  border-color:rgba(198,111,62,.64);
}
.archive-jacket .vol{
  position:absolute;
  left:14px;
  top:14px;
  z-index:2;
  color:#fff;
  font-size:11px;
  letter-spacing:.14em;
  background:rgba(0,0,0,.5);
  border:1px solid rgba(255,255,255,.24);
  padding:7px 9px;
}
.archive-jacket img{
  width:100%;
  height:166px;
  object-fit:cover;
  object-position:center;
  filter:saturate(.82) contrast(1.04) brightness(.82);
  background:#211d1a;
}
.archive-jacket div{
  padding:18px 18px 20px;
}
.archive-jacket p{
  margin:0 0 10px;
  color:#b98158;
  font-size:11px;
  letter-spacing:.16em;
}
.archive-jacket h4{
  margin:0 0 9px;
  color:#fff;
  font-size:20px;
  line-height:1.35;
  font-weight:400;
}
.archive-jacket strong{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:48px;
  color:#e8ddd3;
  font-size:14px;
  line-height:1.7;
  font-weight:400;
  margin-bottom:12px;
}
.archive-jacket small{
  display:block;
  color:#91857b;
  font-size:12px;
  margin-bottom:14px;
}
.archive-jacket a{
  color:#fff;
  font-size:13px;
}
.archive-jacket a:after{content:"→";margin-left:10px;}
.internal-note{display:none!important;}
@media(max-width:900px){
  .interview-issue{padding:52px 22px;}
  .interview-issue-head,
  .interview-feature-layout,
  .interview-feature-copy{
    grid-template-columns:1fr;
  }
  .interview-issue-head h2{font-size:38px;}
  .interview-feature-media{aspect-ratio:16/10.5;}
  .interview-feature-copy{padding:26px 22px 28px;}
  .interview-feature-copy h3{font-size:28px;}
  .interview-next-card>img{height:210px;}
  .archive-rail{grid-auto-columns:260px;}
}


/* interview text polish + 4-axis search */
.interview-issue-head{
  grid-template-columns:minmax(0,760px) minmax(300px,420px);
}
.interview-issue-head h2{
  max-width:760px;
  font-size:clamp(38px,3.6vw,56px);
  line-height:1.28;
  letter-spacing:.02em;
  word-break:keep-all;
  overflow-wrap:normal;
}
.interview-issue-lead,
.feature-detail p,
.next-note{
  word-break:keep-all;
  overflow-wrap:normal;
}
.interview-feature-copy{
  grid-template-columns:minmax(0,1fr) minmax(300px,340px);
}
.interview-feature-copy h3{
  font-size:clamp(28px,2.25vw,36px);
  line-height:1.46;
  letter-spacing:.015em;
  word-break:keep-all;
  overflow-wrap:normal;
}
.archive-jacket strong{
  -webkit-line-clamp:unset;
  min-height:auto;
  overflow:visible;
  display:block;
  word-break:keep-all;
  overflow-wrap:normal;
}
.search-axis-panel{
  width:min(1180px,calc(100% - 72px));
  margin:-44px auto 46px;
  padding:34px 42px 30px;
  border-radius:24px;
  background:
    linear-gradient(180deg,rgba(255,253,248,.97),rgba(249,244,237,.94)),
    repeating-linear-gradient(90deg,rgba(95,70,48,.035) 0 1px,transparent 1px 18px);
}
.search-axis-panel .panel-sub{
  margin:10px 0 26px;
  font-size:15px;
  letter-spacing:.03em;
}
.axis-search-form{
  display:grid;
  grid-template-columns:repeat(4,minmax(150px,1fr)) 150px;
  gap:12px;
  align-items:end;
}
.axis-select{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:9px;
}
.axis-select span{
  color:#6e6257;
  font-size:12px;
  letter-spacing:.12em;
}
.axis-select select{
  width:100%;
  height:58px;
  border:1px solid rgba(188,172,155,.88);
  border-radius:10px;
  color:#17120f;
  padding:0 40px 0 16px;
  font-size:15px;
  line-height:1;
  outline:none;
  appearance:none;
  background-image:
    linear-gradient(45deg,transparent 50%,#7a6a5d 50%),
    linear-gradient(135deg,#7a6a5d 50%,transparent 50%),
    linear-gradient(180deg,#fffefb,#f8f2ea);
  background-position:
    calc(100% - 20px) 26px,
    calc(100% - 14px) 26px,
    0 0;
  background-size:6px 6px,6px 6px,100% 100%;
  background-repeat:no-repeat;
}
.axis-select select:focus{
  border-color:#a66642;
  box-shadow:0 0 0 3px rgba(166,102,66,.12);
}
.axis-search-submit{
  height:58px;
  border:0;
  border-radius:10px;
  background:#11100e;
  color:#fffdf8;
  font-size:15px;
  letter-spacing:.1em;
  white-space:nowrap;
}
.axis-search-submit:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(17,16,14,.16);
}
.axis-search-note{
  margin:18px 0 0;
  padding-top:18px;
  border-top:1px solid rgba(213,201,188,.72);
  color:#6b6259;
  font-size:13px;
  line-height:1.8;
  text-align:center;
  word-break:keep-all;
}
@media(max-width:1180px){
  .axis-search-form{
    grid-template-columns:repeat(2,minmax(220px,1fr));
  }
  .axis-search-submit{
    grid-column:1/-1;
  }
}
@media(max-width:900px){
  .search-axis-panel{
    width:auto;
    margin:-32px 18px 36px;
    padding:26px 20px 24px;
  }
  .axis-search-form{
    grid-template-columns:1fr;
    gap:14px;
  }
  .axis-select select,
  .axis-search-submit{
    height:56px;
    font-size:16px;
  }
  .axis-search-note{
    text-align:left;
  }
}


/* gift calendar interaction update */
.calendar-section{
  display:flex;
  align-items:flex-start;
  gap:34px;
}
.calendar-intro{
  width:270px;
  flex:0 0 270px;
  position:sticky;
  top:104px;
}
.calendar-board{
  flex:1;
  min-width:0;
  padding:30px 30px 34px;
  overflow:hidden;
}
.calendar-scale-wrap{
  width:100%;
  transform-origin:top left;
}
.calendar-grid,
.weekday{
  width:100%;
  min-width:0;
}
.weekday span{
  font-size:12px;
  letter-spacing:.12em;
  color:#8b8178;
}
.day-cell{
  height:78px;
  padding:0;
  background:#fffdf9;
  transition:background .22s ease, box-shadow .22s ease, transform .22s ease;
  overflow:hidden;
}
.day-cell button{
  position:relative;
  width:100%;
  height:100%;
  padding:11px 10px;
  justify-content:flex-start;
  align-items:flex-start;
  gap:0;
  cursor:pointer;
}
.day-num{
  font-size:17px;
  line-height:1;
  color:#2d2924;
  letter-spacing:.03em;
}
.day-event{
  display:none!important;
}
.day-cell.has-event .day-num{
  color:#8f583a;
}
.day-cell.has-event button:after{
  content:"";
  position:absolute;
  left:50%;
  bottom:12px;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#a66642;
  transform:translateX(-50%);
  box-shadow:0 0 0 5px rgba(166,102,66,.10);
}
.day-cell.has-event button:before{
  content:"✦";
  position:absolute;
  right:10px;
  top:9px;
  font-size:10px;
  color:#b5754d;
  opacity:.72;
}
.day-cell.featured,
.day-cell.has-event.featured{
  background:#fbf2e9;
}
.day-cell.active{
  background:#171411;
  border-color:#171411;
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(25,18,12,.13);
  z-index:2;
}
.day-cell.active .day-num,
.day-cell.active button:before{
  color:#fff8ef;
}
.day-cell.active button:after{
  background:#fff8ef;
  box-shadow:none;
}
.day-cell.muted{
  background:#f1ebe4;
  pointer-events:none;
}
.calendar-detail{
  margin-top:26px;
  border:1px solid rgba(205,190,174,.86);
  background:linear-gradient(135deg,#fffdfa,#f7efe6);
  border-radius:22px;
  padding:28px;
  display:grid;
  grid-template-columns:1fr 1.15fr;
  gap:28px;
  min-height:210px;
  box-shadow:0 18px 55px rgba(45,31,17,.055);
}
.calendar-detail-head h3{
  font-size:32px;
  line-height:1.34;
  font-weight:400;
  margin:12px 0 0;
  word-break:keep-all;
  overflow-wrap:normal;
}
.calendar-detail p{
  margin:0;
  color:#625a52;
  font-size:15px;
  line-height:1.9;
}
.calendar-gift-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.calendar-gift-card{
  border:1px solid rgba(213,201,188,.9);
  border-radius:16px;
  overflow:hidden;
  background:#fffdf9;
  min-width:0;
}
.calendar-gift-card img{
  width:100%;
  height:116px;
  object-fit:cover;
  background:#e8ded3;
}
.calendar-gift-card div{
  padding:13px 14px 15px;
}
.calendar-gift-card h4{
  margin:0 0 8px;
  font-size:15px;
  line-height:1.42;
  font-weight:400;
  word-break:keep-all;
  overflow-wrap:anywhere;
}
.calendar-gift-card span{
  display:block;
  color:#a66642;
  font-size:14px;
}
.calendar-detail.is-updated{
  animation:calendarDetailIn .34s ease both;
}
@keyframes calendarDetailIn{
  from{opacity:.58;transform:translateY(8px)}
  to{opacity:1;transform:translateY(0)}
}
@media(max-width:900px){
  .calendar-section{
    display:block;
    padding-left:18px;
    padding-right:18px;
  }
  .calendar-intro{
    position:static;
    width:auto;
    margin-bottom:22px;
  }
  .calendar-intro h2{
    font-size:34px;
  }
  .calendar-board{
    padding:18px 16px 22px;
    border-radius:22px;
  }
  .calendar-head{
    display:grid;
    grid-template-columns:38px 1fr 38px;
    gap:8px;
  }
  .calendar-head h3{
    text-align:center;
    font-size:22px;
  }
  .month-tabs{
    grid-column:1/-1;
    justify-content:center;
    margin-top:10px;
  }
  .month-tabs button{
    height:32px;
    padding:0 13px;
    font-size:12px;
  }
  .calendar-scale-wrap{
    width:100%;
    transform:none!important;
  }
  .day-cell{
    height:clamp(44px,12.4vw,58px);
  }
  .day-cell button{
    padding:8px 6px;
  }
  .day-num{
    font-size:14px;
  }
  .day-cell.has-event button:before{
    right:6px;
    top:5px;
    font-size:8px;
  }
  .day-cell.has-event button:after{
    bottom:8px;
    width:5px;
    height:5px;
  }
  .weekday span{
    font-size:10px;
    padding-bottom:7px;
  }
  .calendar-detail{
    grid-template-columns:1fr;
    gap:18px;
    padding:22px 18px;
    border-radius:18px;
  }
  .calendar-detail-head h3{
    font-size:25px;
    line-height:1.36;
  }
  .calendar-detail p{
    font-size:14px;
  }
  .calendar-gift-list{
    grid-template-columns:1fr;
  }
  .calendar-gift-card{
    display:grid;
    grid-template-columns:96px 1fr;
    min-height:96px;
  }
  .calendar-gift-card img{
    height:100%;
  }
}

/* Gift focus carousel rebuild */
@media(max-width:900px){
  .gift-focus{padding-right:0;overflow:hidden;}
  .gift-focus .section-heading{display:block;margin-bottom:22px;padding-right:20px;}
  .gift-focus .section-heading h2{font-size:34px;line-height:1.22;margin:8px 0 10px;}
  .gift-focus .section-heading p:not(.eyebrow){font-size:14px;line-height:1.75;}
  .gift-category-tabs{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;gap:8px;margin-top:18px;padding:0 20px 8px 0;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;}
  .gift-category-tabs::-webkit-scrollbar{display:none;}
  .gift-category-tabs button{flex:0 0 auto;height:38px;padding:0 17px;font-size:13px;scroll-snap-align:start;background:rgba(255,253,249,.82);}
  .gift-category-tabs button.active{background:#a66642;color:#fff;border-color:#a66642;}
  .product-showcase{gap:14px;margin-right:0;padding:0 20px 18px 0;scroll-padding-left:0;}
  .gift-card{flex-basis:calc(100vw - 60px);max-width:360px;border-radius:20px;box-shadow:0 14px 32px rgba(45,33,22,.16);}
  .gift-card-overlay{left:20px;right:20px;bottom:20px;}
  .gift-card-overlay h3{font-size:24px;line-height:1.36;}
  .gift-card-overlay p{font-size:13px;line-height:1.58;}
  .gift-card-overlay strong{font-size:24px;}
}

@media(min-width:901px){
  .gift-card{flex-basis:310px;}
  .gift-focus .section-heading{align-items:flex-start;}
  .gift-category-tabs{padding-top:18px;}
}


/* === Giftween editorial rebuild: articles / quick search / ranking === */
.editorial-articles .section-heading{margin-bottom:26px;}
.editorial-article-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr;gap:18px;align-items:stretch;}
.editorial-article-grid .card-media{position:relative;display:flex;flex-direction:column;border:1px solid rgba(44,36,29,.14);border-radius:22px;background:#fffdf9;overflow:hidden;min-height:100%;box-shadow:0 18px 50px rgba(44,36,29,.06);}
.editorial-article-grid .article-main{grid-row:span 2;}
.article-image{position:relative;overflow:hidden;background:#e9dfd3;}
.article-main .article-image{height:430px;}
.article-small .article-image{height:185px;}
.article-image img{width:100%;height:100%;object-fit:cover;transition:transform 4.5s cubic-bezier(.19,1,.22,1),filter 4.5s cubic-bezier(.19,1,.22,1);filter:saturate(.9) contrast(.96);}
.card-media:hover .article-image img,.card-media.is-visible .article-image img{transform:scale(1.05);filter:saturate(.96) contrast(1);}
.article-copy{padding:24px;}
.article-main .article-copy{padding:30px;}
.article-copy h3{font-weight:400;line-height:1.45;letter-spacing:.02em;margin:8px 0 12px;}
.article-main .article-copy h3{font-size:34px;}
.article-small .article-copy h3{font-size:18px;}
.article-copy p:not(.eyebrow){color:#665d55;line-height:1.8;margin:0 0 14px;}
.article-copy a{font-size:13px;letter-spacing:.08em;color:#2b211b;border-bottom:1px solid rgba(43,33,27,.35);padding-bottom:3px;}
.reveal-card{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s ease;transition-delay:calc(var(--reveal-delay,0) * .1s);}
.reveal-card.is-visible{opacity:1;transform:translateY(0);}
.reveal-card[data-reveal-delay="1"]{--reveal-delay:1;}.reveal-card[data-reveal-delay="2"]{--reveal-delay:2;}.reveal-card[data-reveal-delay="3"]{--reveal-delay:3;}.reveal-card[data-reveal-delay="4"]{--reveal-delay:4;}

.just-now{background:linear-gradient(180deg,#f8f3ec 0%,#f3ece2 100%);}
.just-head{align-items:stretch;}
.quick-concept-card{width:min(360px,100%);background:#11100f;color:#f7f1e9;border-radius:22px;padding:24px;display:flex;flex-direction:column;justify-content:flex-end;min-height:150px;box-shadow:0 18px 60px rgba(20,15,12,.15);}
.quick-concept-card span{display:block;color:#c79b70;font-size:11px;letter-spacing:.18em;text-transform:uppercase;margin-bottom:14px;}
.quick-concept-card p{margin:0!important;color:#f2e8dc!important;line-height:1.8;font-size:14px;}
.quick-filter-panel{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 0 22px;padding:18px;border:1px solid var(--line);border-radius:22px;background:rgba(255,253,249,.78);backdrop-filter:blur(8px);}
.quick-filter-panel label{display:flex;flex-direction:column;gap:8px;}
.quick-filter-panel span{font-size:11px;letter-spacing:.14em;color:#a86642;text-transform:uppercase;}
.quick-filter-panel select{height:50px;border:1px solid rgba(44,36,29,.18);border-radius:999px;background:#fffdf9;padding:0 18px;color:#2b211b;font-family:inherit;outline:none;}
.quick-card-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;opacity:1;transition:opacity .22s ease,transform .22s ease;}
.quick-card-grid.is-switching{opacity:0;transform:translateY(8px);}
.quick-gift-card{display:grid;grid-template-columns:120px 1fr;gap:0;border:1px solid rgba(44,36,29,.14);border-radius:20px;background:#fffdf9;overflow:hidden;min-height:150px;box-shadow:0 14px 40px rgba(44,36,29,.06);}
.quick-gift-card img{width:100%;height:100%;object-fit:cover;background:#e9dfd3;}
.quick-gift-card .quick-card-body{padding:18px;display:flex;flex-direction:column;justify-content:center;min-width:0;}
.quick-gift-card small{font-size:10px;letter-spacing:.16em;color:#a86642;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.quick-gift-card h3{font-weight:400;font-size:18px;line-height:1.35;margin:8px 0 8px;overflow-wrap:break-word;}
.quick-gift-card p{margin:0 0 10px;color:#665d55;font-size:12px;line-height:1.65;}
.quick-gift-card strong{font-weight:400;font-size:20px;letter-spacing:.03em;}
.quick-empty{grid-column:1/-1;padding:36px;text-align:center;border:1px dashed rgba(44,36,29,.2);border-radius:20px;color:#665d55;background:rgba(255,253,249,.65);}

.ranking.dark{background:radial-gradient(circle at 20% 0%,rgba(143,95,50,.18),transparent 34%),linear-gradient(180deg,#11100f,#171513);padding:64px 0 58px;overflow:hidden;}
.editorial-ranking-head{display:flex;justify-content:space-between;gap:28px;align-items:flex-end;padding:0 78px 34px;}
.editorial-ranking-head h2{color:#fff;font-weight:400;font-size:52px;letter-spacing:.06em;margin:10px 0 10px;}
.editorial-ranking-head p:not(.eyebrow){color:#dfd2c4;line-height:1.9;margin:0;letter-spacing:.05em;}
.editorial-ranking-head a{color:#f7f1e9;font-size:13px;letter-spacing:.12em;border-bottom:1px solid rgba(247,241,233,.35);padding-bottom:5px;}
.ranking-carousel{display:flex!important;grid-template-columns:none!important;gap:34px;overflow-x:auto;scroll-snap-type:x mandatory;padding:34px 78px 18px;scrollbar-width:none;}
.ranking-carousel::-webkit-scrollbar{display:none;}
.ranking-card{position:relative;flex:0 0 260px;scroll-snap-align:start;color:#fff;}
.rank-num{position:absolute;z-index:2;left:-24px;top:-52px;font-family:'Playfair Display',Georgia,serif!important;font-size:8.2rem!important;line-height:1;font-weight:400!important;color:rgba(205,158,93,.86)!important;letter-spacing:-.08em;text-shadow:0 18px 50px rgba(0,0,0,.32);pointer-events:none;}
.ranking-image{position:relative;overflow:hidden;background:#2a2520;aspect-ratio:3/4;border:1px solid rgba(255,255,255,.08);}
.ranking-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.88) contrast(.95);transition:transform 4s cubic-bezier(.19,1,.22,1);}
.ranking-card:hover .ranking-image img{transform:scale(1.05);}
.ranking-meta{padding-top:16px;}
.ranking-meta span{display:block;color:#c79b70;font-size:11px;letter-spacing:.22em;margin-bottom:10px;}
.ranking-meta h3{color:#fff!important;font-size:14px!important;font-weight:400!important;line-height:1.65;letter-spacing:.1em;margin:0 0 8px!important;}
.ranking-meta p{color:#f0e7dc!important;font-size:14px!important;letter-spacing:.08em;margin:0!important;}
.ranking-meta p:after{content:"";display:block;width:38px;height:1px;background:#c79b70;margin-top:14px;}
.ranking-swipe-note{color:#d8c8b8;text-align:center;font-size:13px;letter-spacing:.12em;margin:22px 0 0;}
.ranking-swipe-note:before,.ranking-swipe-note:after{content:"";display:inline-block;width:58px;height:1px;background:rgba(199,155,112,.45);vertical-align:middle;margin:0 18px;}

@media(max-width:900px){
  .editorial-article-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:12px!important;}
  .editorial-article-grid .article-main{grid-column:1/-1;grid-row:auto;}
  .article-main .article-image{height:auto;aspect-ratio:4/3;}
  .article-small .article-image{height:auto;aspect-ratio:1/1;}
  .article-copy{padding:14px;}
  .article-main .article-copy{padding:20px;}
  .article-main .article-copy h3{font-size:24px;line-height:1.45;}
  .article-small .article-copy h3{font-size:13px;line-height:1.5;}
  .article-small .eyebrow{font-size:9px;letter-spacing:.12em;}
  .article-small .article-copy a{font-size:11px;}
  .article-small .article-copy p:not(.eyebrow){display:none;}

  .just-head{display:block;}
  .just-head h2{font-size:34px;}
  .quick-concept-card{width:auto;margin-top:18px;min-height:0;padding:18px;border-radius:18px;}
  .quick-filter-panel{grid-template-columns:1fr;gap:10px;padding:14px;border-radius:18px;}
  .quick-filter-panel select{height:48px;}
  .quick-card-grid{grid-template-columns:1fr!important;gap:12px!important;}
  .quick-gift-card{grid-template-columns:40% 60%;min-height:138px;border-radius:18px;}
  .quick-gift-card .quick-card-body{padding:14px;}
  .quick-gift-card h3{font-size:15px;line-height:1.4;}
  .quick-gift-card p{font-size:11px;line-height:1.55;}
  .quick-gift-card strong{font-size:17px;}

  .ranking.dark{padding:48px 0 42px;}
  .editorial-ranking-head{display:block;padding:0 20px 22px;}
  .editorial-ranking-head h2{font-size:36px;letter-spacing:.05em;}
  .editorial-ranking-head a{display:inline-block;margin-top:18px;}
  .ranking-carousel{gap:20px;padding:34px 20px 10px;scroll-padding-left:20px;}
  .ranking-card{flex:0 0 calc(78vw - 10px);}
  .rank-num{font-size:6.2rem!important;left:-15px;top:-40px;}
  .ranking-meta h3{font-size:13px!important;}
  .ranking-swipe-note{font-size:11px;margin-top:18px;}
  .ranking-swipe-note:before,.ranking-swipe-note:after{width:28px;margin:0 10px;}
}

/* daily gift editorial layout */
.today-row{
  align-items:stretch;
}
.daily-slider.glass-card{
  min-width:0;
  min-height:522px;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  overflow:visible;
}
.daily-slider .section-title-row{
  margin-bottom:18px;
}
.daily-slider .section-title-row h2{
  font-size:40px;
  line-height:1.2;
}
.daily-slider .slider-window{
  overflow:visible;
}
.daily-slider .slider-track{
  display:grid;
  grid-template-columns:1.12fr .88fr;
  grid-template-rows:repeat(2,minmax(0,1fr));
  gap:16px;
  height:438px;
  transform:none!important;
}
.daily-slider .daily-item{
  position:relative;
  min-width:0;
  min-height:0;
  height:100%;
  border:0;
  border-radius:8px;
  overflow:hidden;
  background:#15110e;
  box-shadow:0 20px 48px rgba(45,33,22,.18);
  isolation:isolate;
}
.daily-slider .daily-item:first-child{
  grid-row:1 / span 2;
}
.daily-slider .daily-item img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.82) contrast(.98);
  transform:scale(1.01);
  transition:transform .7s ease,filter .7s ease;
}
.daily-slider .daily-item:hover img{
  transform:scale(1.045);
  filter:saturate(.9) contrast(1.03);
}
.daily-slider .daily-item:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(180deg,rgba(0,0,0,.06) 0%,rgba(0,0,0,.18) 43%,rgba(0,0,0,.76) 100%),
    linear-gradient(90deg,rgba(0,0,0,.26),rgba(0,0,0,0) 62%);
}
.daily-slider .daily-item:after{
  content:"GIFT IDEA";
  position:absolute;
  left:20px;
  top:18px;
  z-index:2;
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.32);
  background:rgba(12,10,8,.28);
  backdrop-filter:blur(8px);
  color:#fff8ef;
  font-size:10px;
  line-height:1;
  letter-spacing:.16em;
}
.daily-slider .item-body{
  position:absolute;
  left:22px;
  right:22px;
  bottom:22px;
  z-index:2;
  padding:0;
  color:#fff;
}
.daily-slider .daily-item:first-child .item-body{
  left:28px;
  right:30px;
  bottom:30px;
}
.daily-slider .daily-item h3{
  margin:0 0 10px;
  color:#fffaf2;
  font-size:23px;
  line-height:1.42;
  font-weight:400;
  letter-spacing:.04em;
  text-shadow:0 10px 30px rgba(0,0,0,.35);
}
.daily-slider .daily-item:first-child h3{
  max-width:420px;
  font-size:34px;
  line-height:1.38;
}
.daily-slider .daily-item p{
  max-width:360px;
  margin:0 0 16px;
  color:rgba(255,248,239,.84);
  font-size:13px;
  line-height:1.72;
}
.daily-slider .daily-item:first-child p{
  font-size:15px;
}
.daily-slider .daily-item a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border:1px solid rgba(255,255,255,.48);
  border-radius:50%;
  color:#fff;
  font-size:18px;
  background:rgba(10,8,6,.2);
}

@media(max-width:900px){
  .daily-slider.glass-card{
    min-height:0;
  }
  .daily-slider .slider-track{
    grid-template-columns:1fr;
    grid-template-rows:none;
    height:auto;
  }
  .daily-slider .daily-item,
  .daily-slider .daily-item:first-child{
    grid-row:auto;
    height:260px;
  }
  .daily-slider .daily-item:first-child{
    height:340px;
  }
  .daily-slider .daily-item:first-child h3{
    font-size:28px;
  }
}

/* layout balance pass */
.today-row{
  grid-template-columns:minmax(360px,.82fr) minmax(0,1.38fr);
  gap:clamp(28px,3vw,52px);
}
.today-card{
  min-width:0;
}
.daily-slider.glass-card{
  display:flex;
  flex-direction:column;
  align-self:stretch;
}
.daily-slider .slider-window{
  flex:1;
  min-height:0;
}
.daily-slider .slider-track{
  height:100%;
  min-height:430px;
}
.daily-slider .daily-item{
  border-radius:10px;
}
.daily-slider .daily-item:first-child h3{
  max-width:460px;
}

.calendar-section{
  display:grid;
  grid-template-columns:minmax(360px,24vw) minmax(0,1fr);
  gap:clamp(42px,4vw,72px);
  align-items:start;
}
.calendar-intro{
  width:auto;
  flex:auto;
  min-width:0;
}
.calendar-intro h2{
  font-size:clamp(38px,3.1vw,52px);
  line-height:1.18;
  letter-spacing:.02em;
  margin:16px 0 22px;
}
.calendar-intro p:not(.eyebrow){
  max-width:320px;
}
.calendar-board{
  width:100%;
  min-width:0;
  padding:clamp(24px,2.4vw,34px);
}
.calendar-head{
  grid-template-columns:40px minmax(180px,auto) 40px minmax(280px,1fr);
  column-gap:14px;
}
.month-tabs{
  min-width:0;
}
.month-tabs button{
  flex:0 0 auto;
}

.calendar-detail{
  grid-template-columns:minmax(260px,.72fr) minmax(0,1.28fr);
  gap:clamp(26px,3vw,48px);
  padding:clamp(28px,3vw,42px);
  border-radius:18px;
}
.calendar-detail-body{
  min-width:0;
}
.calendar-detail-body > p{
  max-width:760px;
  margin-bottom:18px;
}
.calendar-gift-list{
  gap:18px;
}
.calendar-gift-card{
  position:relative;
  min-height:220px;
  border:0;
  border-radius:10px;
  background:#15110e;
  box-shadow:0 18px 44px rgba(45,33,22,.14);
  isolation:isolate;
}
.calendar-gift-card:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(180deg,rgba(0,0,0,.04) 0%,rgba(0,0,0,.22) 48%,rgba(0,0,0,.72) 100%);
}
.calendar-gift-card img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.88) contrast(.98);
  transition:transform .7s ease;
}
.calendar-gift-card:hover img{
  transform:scale(1.04);
}
.calendar-gift-card div{
  position:absolute;
  left:18px;
  right:18px;
  bottom:18px;
  z-index:2;
  padding:0;
  color:#fff;
}
.calendar-gift-card h4{
  margin:0 0 10px;
  color:#fffaf2;
  font-size:18px;
  line-height:1.45;
  text-shadow:0 10px 28px rgba(0,0,0,.34);
}
.calendar-gift-card span{
  color:#f3d1b9;
  font-size:20px;
  letter-spacing:.04em;
}

@media(max-width:1200px){
  .today-row{
    grid-template-columns:minmax(330px,.9fr) minmax(0,1.1fr);
    gap:30px;
  }
  .calendar-section{
    grid-template-columns:minmax(300px,34%) minmax(0,1fr);
    gap:34px;
  }
  .calendar-intro h2{
    font-size:42px;
  }
  .calendar-detail{
    grid-template-columns:1fr;
  }
}

@media(max-width:900px){
  .today-row,
  .calendar-section{
    display:grid;
    grid-template-columns:1fr;
  }
  .today-row{
    gap:24px;
  }
  .daily-slider .slider-track{
    min-height:0;
  }
  .calendar-section{
    gap:22px;
  }
  .calendar-intro p:not(.eyebrow){
    max-width:none;
  }
  .calendar-head{
    grid-template-columns:38px 1fr 38px;
  }
  .calendar-detail{
    grid-template-columns:1fr;
    gap:18px;
    padding:22px 18px;
  }
  .calendar-gift-list{
    grid-template-columns:1fr;
  }
  .calendar-gift-card{
    min-height:180px;
    display:block;
  }
  .calendar-gift-card img{
    height:100%;
  }
}

/* article jacket shelf and ranking modal */
.editorial-articles{
  overflow:hidden;
}
.article-shelf{
  display:grid;
  grid-template-columns:minmax(420px,1.05fr) minmax(360px,.95fr);
  gap:clamp(24px,3vw,46px);
  align-items:stretch;
}
.article-reader{
  position:relative;
  min-height:560px;
  border-radius:14px;
  overflow:hidden;
  background:#15110e;
  color:#fff;
  box-shadow:0 24px 70px rgba(45,33,22,.18);
  isolation:isolate;
}
.article-reader:after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(180deg,rgba(0,0,0,.04) 0%,rgba(0,0,0,.18) 42%,rgba(0,0,0,.76) 100%),
    linear-gradient(90deg,rgba(0,0,0,.32),rgba(0,0,0,0) 62%);
}
.article-reader-image{
  position:absolute;
  inset:0;
}
.article-reader-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.88) contrast(.98);
  transform:scale(1.01);
  transition:transform .75s ease,opacity .25s ease;
}
.article-reader.is-switching .article-reader-image img{
  opacity:.35;
  transform:scale(1.04);
}
.article-reader-copy{
  position:absolute;
  left:clamp(26px,3vw,48px);
  right:clamp(24px,4vw,70px);
  bottom:clamp(28px,3vw,48px);
  z-index:2;
}
.article-reader-copy .eyebrow{
  color:#e3b891;
}
.article-reader-copy h3{
  max-width:720px;
  margin:14px 0 16px;
  color:#fffaf2;
  font-size:clamp(34px,3.3vw,58px);
  line-height:1.28;
  font-weight:400;
  letter-spacing:.04em;
  text-shadow:0 14px 34px rgba(0,0,0,.38);
}
.article-reader-copy p:not(.eyebrow){
  max-width:560px;
  margin:0 0 22px;
  color:rgba(255,248,239,.86);
  font-size:15px;
  line-height:1.9;
}
.article-reader-copy a{
  display:inline-flex;
  align-items:center;
  gap:14px;
  color:#fff;
  font-size:13px;
  letter-spacing:.1em;
}
.article-reader-copy a:after{
  content:"→";
  width:34px;
  height:34px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.5);
  border-radius:50%;
}
.article-jacket-rail{
  display:grid;
  grid-template-columns:repeat(5,minmax(116px,1fr));
  gap:14px;
  align-items:end;
  overflow-x:auto;
  padding:8px 2px 18px;
  scrollbar-width:none;
}
.article-jacket-rail::-webkit-scrollbar{
  display:none;
}
.article-jacket{
  position:relative;
  height:clamp(310px,28vw,440px);
  min-width:116px;
  border:1px solid rgba(44,36,29,.16);
  border-radius:8px;
  padding:0;
  overflow:hidden;
  background:#171411;
  color:#fff;
  text-align:left;
  box-shadow:0 18px 45px rgba(45,33,22,.12);
  transform-origin:bottom center;
  transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.article-jacket:nth-child(2),
.article-jacket:nth-child(4){
  transform:translateY(28px);
}
.article-jacket:hover,
.article-jacket.active{
  transform:translateY(-8px);
  border-color:rgba(166,102,66,.75);
  box-shadow:0 28px 70px rgba(45,33,22,.2);
}
.article-jacket:nth-child(2):hover,
.article-jacket:nth-child(2).active,
.article-jacket:nth-child(4):hover,
.article-jacket:nth-child(4).active{
  transform:translateY(12px);
}
.article-jacket img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.8) contrast(.95);
  transition:transform .6s ease,filter .6s ease;
}
.article-jacket:hover img,
.article-jacket.active img{
  transform:scale(1.05);
  filter:saturate(.95) contrast(1.02);
}
.article-jacket:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.28) 42%,rgba(0,0,0,.82));
}
.article-jacket span,
.article-jacket strong{
  position:relative;
  z-index:1;
  display:block;
  margin:0 14px;
}
.article-jacket span{
  margin-top:16px;
  color:#e0b186;
  font-size:10px;
  letter-spacing:.16em;
}
.article-jacket strong{
  position:absolute;
  left:0;
  right:0;
  bottom:16px;
  color:#fffaf2;
  font-size:15px;
  line-height:1.5;
  font-weight:400;
}
.ranking-card{
  cursor:pointer;
  outline:none;
}
.ranking-card:focus-visible .ranking-image{
  box-shadow:0 0 0 3px rgba(199,155,112,.7);
}
.ranking-card:after{
  content:"DETAIL";
  position:absolute;
  left:0;
  bottom:86px;
  z-index:3;
  padding:8px 11px;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(10,8,6,.5);
  color:#fff;
  font-size:10px;
  letter-spacing:.16em;
  opacity:0;
  transform:translateY(8px);
  transition:.24s ease;
}
.ranking-card:hover:after,
.ranking-card:focus-visible:after{
  opacity:1;
  transform:translateY(0);
}
.ranking-modal-box{
  width:min(920px,calc(100vw - 40px));
  max-width:920px;
  padding:0;
  overflow:hidden;
  border-radius:18px;
}
.ranking-detail{
  display:grid;
  grid-template-columns:minmax(260px,.88fr) minmax(0,1.12fr);
  background:#fffaf4;
}
.ranking-detail-image{
  min-height:520px;
  background:#16110e;
}
.ranking-detail-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.9) contrast(.98);
}
.ranking-detail-copy{
  padding:clamp(34px,4vw,56px);
}
.ranking-detail-copy h2{
  margin:14px 0 12px;
  font-size:clamp(34px,4vw,54px);
  line-height:1.24;
  font-weight:400;
}
.ranking-detail-copy strong{
  display:block;
  margin-bottom:22px;
  color:#a66642;
  font-size:28px;
  font-weight:400;
}
.ranking-detail-copy p{
  margin:0 0 24px;
  color:#5f554d;
  line-height:1.9;
}
.ranking-detail-copy dl{
  margin:0 0 28px;
  border-top:1px solid rgba(44,36,29,.14);
}
.ranking-detail-copy dl div{
  padding:16px 0;
  border-bottom:1px solid rgba(44,36,29,.14);
}
.ranking-detail-copy dt{
  margin-bottom:7px;
  color:#a66642;
  font-size:11px;
  letter-spacing:.16em;
}
.ranking-detail-copy dd{
  margin:0;
  color:#251f1a;
  line-height:1.75;
}
.ranking-detail-copy a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:48px;
  padding:0 24px;
  border:1px solid #1a1511;
  color:#1a1511;
}

@media(max-width:1100px){
  .article-shelf{
    grid-template-columns:1fr;
  }
  .article-reader{
    min-height:480px;
  }
  .article-jacket-rail{
    display:flex;
    align-items:stretch;
    padding-bottom:24px;
    scroll-snap-type:x proximity;
  }
  .article-jacket{
    flex:0 0 180px;
    height:300px;
    scroll-snap-align:start;
  }
  .article-jacket,
  .article-jacket:nth-child(2),
  .article-jacket:nth-child(4),
  .article-jacket:hover,
  .article-jacket.active,
  .article-jacket:nth-child(2):hover,
  .article-jacket:nth-child(2).active,
  .article-jacket:nth-child(4):hover,
  .article-jacket:nth-child(4).active{
    transform:none;
  }
}

@media(max-width:700px){
  .article-reader{
    min-height:430px;
    border-radius:12px;
  }
  .article-reader-copy h3{
    font-size:30px;
  }
  .article-jacket{
    flex-basis:154px;
    height:260px;
  }
  .ranking-detail{
    grid-template-columns:1fr;
  }
  .ranking-detail-image{
    min-height:300px;
  }
}

/* article reading desk refinement */
.article-desk{
  grid-template-columns:minmax(0,1fr);
  gap:22px;
}
.article-desk .article-reader{
  min-height:0;
  display:grid;
  grid-template-columns:minmax(260px,.48fr) minmax(0,.52fr);
  border:1px solid rgba(44,36,29,.14);
  border-radius:12px;
  background:#fbf7f0;
  color:#16110e;
  box-shadow:0 18px 52px rgba(45,33,22,.1);
}
.article-desk .article-reader:after{
  display:none;
}
.article-reader-index{
  position:absolute;
  left:22px;
  top:22px;
  z-index:3;
  padding:8px 10px;
  background:rgba(16,13,10,.72);
  border:1px solid rgba(255,255,255,.24);
  color:#fff8ef;
  font-size:10px;
  letter-spacing:.18em;
}
.article-desk .article-reader-image{
  position:relative;
  min-height:460px;
  overflow:hidden;
  background:#15110e;
}
.article-desk .article-reader-image img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
}
.article-desk .article-reader-copy{
  position:relative;
  left:auto;
  right:auto;
  bottom:auto;
  z-index:2;
  padding:clamp(34px,4vw,58px);
  align-self:center;
}
.article-desk .article-reader-copy:before{
  content:"READING NOTE";
  display:block;
  width:max-content;
  margin-bottom:30px;
  padding-bottom:8px;
  border-bottom:1px solid rgba(166,102,66,.45);
  color:#a66642;
  font-size:11px;
  letter-spacing:.2em;
}
.article-desk .article-reader-copy .eyebrow{
  color:#a66642;
}
.article-desk .article-reader-copy h3{
  max-width:620px;
  margin:12px 0 18px;
  color:#11100e;
  font-size:clamp(34px,3.6vw,56px);
  line-height:1.25;
  text-shadow:none;
}
.article-desk .article-reader-copy p:not(.eyebrow){
  max-width:560px;
  color:#5d544c;
}
.article-reader-hint{
  position:relative;
  padding:18px 20px 18px 54px;
  border:1px solid rgba(166,102,66,.24);
  background:#fffdf9;
  color:#3b312a!important;
  font-size:14px!important;
  line-height:1.75!important;
}
.article-reader-hint:before{
  content:"?";
  position:absolute;
  left:18px;
  top:17px;
  width:22px;
  height:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(166,102,66,.45);
  border-radius:50%;
  color:#a66642;
  font-size:13px;
}
.article-desk .article-reader-copy a{
  color:#16110e;
}
.article-desk .article-reader-copy a:after{
  border-color:rgba(22,17,14,.36);
}
.article-desk .article-jacket-rail{
  display:flex;
  gap:16px;
  align-items:stretch;
  overflow-x:auto;
  padding:8px 2px 24px;
  scroll-snap-type:x proximity;
}
.article-desk .article-jacket{
  flex:0 0 clamp(170px,18vw,230px);
  height:clamp(260px,25vw,340px);
  scroll-snap-align:start;
  transform:none!important;
}
.article-desk .article-jacket.active{
  flex-basis:clamp(220px,24vw,310px);
}
.article-jacket em{
  position:absolute;
  right:14px;
  top:12px;
  z-index:2;
  color:rgba(255,250,242,.82);
  font-style:normal;
  font-size:32px;
  line-height:1;
}

/* compact ranking detail popup */
.ranking-modal{
  align-items:center;
}
.ranking-modal-box{
  width:min(780px,calc(100vw - 32px));
  max-width:780px;
  max-height:calc(100vh - 42px);
  overflow:auto;
}
.ranking-detail{
  grid-template-columns:minmax(220px,.78fr) minmax(0,1.22fr);
}
.ranking-detail-image{
  min-height:0;
  height:auto;
}
.ranking-detail-image img{
  min-height:420px;
}
.ranking-detail-copy{
  padding:clamp(26px,3vw,40px);
}
.ranking-detail-copy h2{
  font-size:clamp(30px,3.4vw,44px);
}
.ranking-detail-copy p{
  margin-bottom:18px;
}
.ranking-detail-copy dl div{
  padding:12px 0;
}

@media(max-width:900px){
  .article-desk .article-reader{
    grid-template-columns:1fr;
  }
  .article-desk .article-reader-image{
    min-height:300px;
    aspect-ratio:4/3;
  }
  .article-desk .article-reader-copy{
    padding:26px 22px 28px;
  }
  .article-desk .article-reader-copy h3{
    font-size:30px;
  }
  .article-desk .article-jacket,
  .article-desk .article-jacket.active{
    flex-basis:168px;
    height:250px;
  }
  .ranking-detail{
    grid-template-columns:1fr;
  }
  .ranking-detail-image img{
    min-height:220px;
    max-height:260px;
  }
}

/* quick buy today and modal visibility fix */
.modal{
  z-index:700;
}
.modal-box{
  max-height:calc(100vh - 40px);
}
.ranking-modal-box{
  width:min(760px,calc(100vw - 40px));
  max-width:760px;
  max-height:min(720px,calc(100vh - 48px));
  overflow:auto;
  border-radius:14px;
}
.ranking-modal-box .modal-close{
  position:sticky;
  top:10px;
  float:right;
  z-index:5;
  width:38px;
  height:38px;
  margin:10px 10px -48px 0;
  border-radius:50%;
  background:rgba(17,16,14,.82);
  color:#fff;
  font-size:24px;
  line-height:1;
}
.ranking-detail{
  grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr);
}
.ranking-detail-image{
  min-height:420px;
}
.ranking-detail-image img{
  height:100%;
  min-height:420px;
  max-height:none;
}
.ranking-detail-copy{
  padding:34px 38px 36px;
}
.ranking-detail-copy h2{
  font-size:38px;
  line-height:1.24;
  margin:10px 0 10px;
}
.ranking-detail-copy strong{
  font-size:24px;
  margin-bottom:16px;
}
.ranking-detail-copy p{
  font-size:14px;
  line-height:1.8;
  margin-bottom:16px;
}
.ranking-detail-copy dl{
  margin-bottom:22px;
}
.ranking-detail-copy dl div{
  padding:11px 0;
}
.ranking-detail-copy dd{
  font-size:14px;
  line-height:1.7;
}

.just-now{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 78% 0%,rgba(166,102,66,.14),transparent 34%),
    linear-gradient(180deg,#f8f3ec 0%,#efe5da 100%);
}
.just-now .just-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,360px);
  gap:28px;
  align-items:end;
}
.just-now .just-head h2{
  font-size:clamp(40px,4vw,58px);
  line-height:1.18;
  max-width:720px;
}
.just-now .just-head p:not(.eyebrow){
  max-width:580px;
  line-height:1.9;
}
.quick-concept-card{
  border-radius:10px;
  background:#15110e;
  min-height:132px;
}
.quick-filter-panel{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  width:max-content;
  max-width:100%;
  margin:0 0 24px;
  padding:12px;
  border-radius:999px;
  background:rgba(255,253,249,.82);
  box-shadow:0 16px 42px rgba(45,33,22,.08);
}
.quick-filter-panel label{
  min-width:170px;
}
.quick-filter-panel select{
  border-radius:999px;
  background:#fffdf9;
}
.quick-card-grid{
  display:grid!important;
  grid-template-columns:1.16fr repeat(2,minmax(0,.92fr))!important;
  gap:16px!important;
}
.quick-gift-card{
  position:relative;
  display:block;
  min-height:260px;
  border:0;
  border-radius:10px;
  overflow:hidden;
  background:#15110e;
  color:#fff;
  box-shadow:0 20px 50px rgba(45,33,22,.14);
  isolation:isolate;
}
.quick-gift-card:first-child{
  grid-row:span 2;
  min-height:536px;
}
.quick-gift-card:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.18) 42%,rgba(0,0,0,.76)),
    linear-gradient(90deg,rgba(0,0,0,.28),transparent 66%);
}
.quick-gift-card img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.86) contrast(.98);
  transition:transform .7s ease;
}
.quick-gift-card:hover img{
  transform:scale(1.045);
}
.quick-gift-card .quick-card-body{
  position:absolute;
  left:22px;
  right:22px;
  bottom:22px;
  z-index:2;
  display:block;
  padding:0;
  color:#fff;
}
.quick-gift-card small{
  display:inline-flex;
  max-width:100%;
  margin-bottom:12px;
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.32);
  background:rgba(10,8,6,.28);
  color:#fff8ef;
  backdrop-filter:blur(8px);
  font-size:10px;
  letter-spacing:.14em;
}
.quick-gift-card h3{
  margin:0 0 10px;
  color:#fffaf2;
  font-size:24px;
  line-height:1.35;
  font-weight:400;
  text-shadow:0 12px 30px rgba(0,0,0,.36);
}
.quick-gift-card:first-child h3{
  max-width:440px;
  font-size:34px;
}
.quick-gift-card p{
  margin:0 0 14px;
  color:rgba(255,248,239,.84);
  font-size:13px;
  line-height:1.7;
}
.quick-gift-card strong{
  color:#f3d1b9;
  font-size:25px;
  font-weight:400;
}

@media(max-width:1000px){
  .just-now .just-head{
    grid-template-columns:1fr;
  }
  .quick-filter-panel{
    width:100%;
    border-radius:22px;
  }
  .quick-filter-panel label{
    flex:1 1 180px;
  }
  .quick-card-grid{
    grid-template-columns:1fr 1fr!important;
  }
  .quick-gift-card:first-child{
    grid-column:1/-1;
    min-height:360px;
  }
}

@media(max-width:700px){
  .ranking-modal-box{
    width:calc(100vw - 24px);
    max-height:calc(100vh - 24px);
  }
  .ranking-detail{
    grid-template-columns:1fr;
  }
  .ranking-detail-image{
    min-height:0;
  }
  .ranking-detail-image img{
    height:240px;
    min-height:240px;
    max-height:240px;
  }
  .ranking-detail-copy{
    padding:26px 22px 28px;
  }
  .ranking-detail-copy h2{
    font-size:30px;
  }
  .quick-card-grid{
    grid-template-columns:1fr!important;
  }
  .quick-gift-card,
  .quick-gift-card:first-child{
    grid-column:auto;
    grid-row:auto;
    min-height:290px;
  }
}

/* sharper quick gift layout */
.just-now{
  padding-top:58px;
  padding-bottom:58px;
}
.just-now .just-head{
  grid-template-columns:minmax(0,1fr) 300px;
  align-items:end;
  margin-bottom:22px;
}
.just-now .just-head h2{
  max-width:none;
  font-size:clamp(38px,3.4vw,50px);
}
.quick-concept-card{
  min-height:104px;
  padding:20px;
}
.quick-filter-panel{
  width:100%;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin-bottom:18px;
  padding:14px;
  border-radius:14px;
}
.quick-filter-panel label{
  min-width:0;
}
.quick-filter-panel select{
  width:100%;
  height:46px;
}
.quick-card-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:stretch;
}
.quick-card-grid.is-switching{
  opacity:.35;
  transform:translateY(6px);
}
.quick-gift-card,
.quick-gift-card:first-child{
  grid-column:auto;
  grid-row:auto;
  min-height:0;
  height:300px;
  border-radius:8px;
  box-shadow:0 14px 34px rgba(45,33,22,.12);
}
.quick-gift-card:before{
  background:
    linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.18) 45%,rgba(0,0,0,.72)),
    linear-gradient(90deg,rgba(0,0,0,.18),transparent 68%);
}
.quick-gift-card .quick-card-body{
  left:20px;
  right:20px;
  bottom:20px;
}
.quick-gift-card h3,
.quick-gift-card:first-child h3{
  max-width:none;
  font-size:23px;
  line-height:1.34;
}
.quick-gift-card p{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.quick-gift-card strong{
  font-size:22px;
}

@media(max-width:1000px){
  .just-now .just-head{
    grid-template-columns:1fr;
  }
  .quick-filter-panel{
    grid-template-columns:1fr 1fr 1fr;
  }
  .quick-card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .quick-gift-card,
  .quick-gift-card:first-child{
    height:280px;
  }
}

@media(max-width:700px){
  .quick-filter-panel{
    grid-template-columns:1fr;
    border-radius:12px;
  }
  .quick-card-grid{
    grid-template-columns:1fr!important;
  }
  .quick-gift-card,
  .quick-gift-card:first-child{
    height:270px;
  }
}


/* Hero video text restore */
.hero.hero-making{
  position:relative;
}
.hero.hero-making::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(248,244,238,.96) 0%, rgba(248,244,238,.86) 30%, rgba(248,244,238,.38) 52%, rgba(248,244,238,0) 74%),
    radial-gradient(circle at 17% 45%, rgba(255,255,255,.26), transparent 38%);
}
.hero-making-copy{
  position:relative;
  z-index:4;
  width:min(560px, 48vw);
  padding-left:78px;
  padding-top:96px;
  color:#111;
}
.hero-making-copy .eyebrow{
  color:#a66642;
  letter-spacing:.18em;
}
.hero-making-copy h1{
  margin:28px 0 28px;
  font-weight:400;
  font-size:clamp(64px, 5.45vw, 104px);
  line-height:1.13;
  letter-spacing:.04em;
  color:#111;
}
.hero-making-lead{
  margin:0 0 24px;
  font-size:clamp(18px, 1.45vw, 25px);
  line-height:1.55;
  color:#17120f;
}
.hero-making-body{
  margin:0 0 34px;
  font-size:16px;
  line-height:2;
  color:#17120f;
}
.hero-making-button{
  position:relative;
  z-index:6;
}
.hero-cta-hotspot{
  z-index:3;
}
@media(max-width:900px){
  .hero.hero-making::before{
    background:
      linear-gradient(180deg, rgba(248,244,238,.94) 0%, rgba(248,244,238,.72) 42%, rgba(248,244,238,.15) 72%, rgba(248,244,238,0) 100%);
  }
  .hero-making-copy{
    width:auto;
    padding:86px 28px 0;
  }
  .hero-making-copy h1{
    font-size:58px;
  }
  .hero-making-body{
    font-size:14px;
  }
}


/* freeword gift search */
.axis-freeword input{
  width:100%;
  height:58px;
  border:1px solid rgba(188,172,155,.88);
  border-radius:10px;
  color:#17120f;
  padding:0 18px;
  font-size:15px;
  outline:none;
  background:linear-gradient(180deg,#fffefb,#f8f2ea);
}
.axis-freeword input::placeholder{
  color:#9b8d7f;
}
.axis-freeword input:focus{
  border-color:#a66642;
  box-shadow:0 0 0 3px rgba(166,102,66,.12);
}
@media(min-width:1181px){
  .axis-search-form{
    grid-template-columns:minmax(260px,2fr) repeat(4,minmax(120px,1fr)) 150px;
  }
}
.gift-search-results{
  width:min(1180px,calc(100% - 72px));
  margin:0 auto 58px;
  padding:34px 0 0;
  opacity:0;
  transform:translateY(14px);
  transition:opacity .24s ease,transform .24s ease;
}
.gift-search-results.is-visible{
  opacity:1;
  transform:translateY(0);
}
.search-results-head{
  display:flex;
  justify-content:space-between;
  gap:28px;
  align-items:flex-end;
  margin-bottom:18px;
  border-bottom:1px solid rgba(205,190,174,.78);
  padding-bottom:18px;
}
.search-results-head h2{
  margin:8px 0 8px;
  font-size:clamp(34px,3.2vw,50px);
  font-weight:400;
  line-height:1.25;
  letter-spacing:.03em;
}
.search-results-head p:not(.eyebrow){
  margin:0;
  color:#6b6259;
  line-height:1.8;
}
.search-results-clear{
  flex:0 0 auto;
  height:42px;
  padding:0 18px;
  border:1px solid rgba(188,172,155,.9);
  border-radius:999px;
  background:#fffdf8;
  color:#54483e;
  letter-spacing:.06em;
}
.search-result-tags{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
  margin-bottom:22px;
}
.search-result-tags span{
  display:inline-flex;
  height:34px;
  align-items:center;
  padding:0 14px;
  border-radius:999px;
  background:#efe5dc;
  color:#8a5338;
  font-size:12px;
  letter-spacing:.08em;
}
.search-result-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.search-result-empty{
  margin:28px 0;
  padding:38px;
  text-align:center;
  background:#fffdf9;
  border:1px solid #dfcec0;
  color:#5f554d;
}
.search-result-card{
  min-width:0;
  display:grid;
  grid-template-columns:145px minmax(0,1fr);
  gap:0;
  border:1px solid rgba(205,190,174,.92);
  border-radius:18px;
  overflow:hidden;
  background:#fffdf8;
  box-shadow:0 14px 36px rgba(48,35,23,.07);
  transition:transform .24s ease, box-shadow .24s ease, opacity .24s ease;
}
.search-result-card:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 46px rgba(48,35,23,.12);
}
.search-result-card img{
  width:100%;
  height:100%;
  min-height:220px;
  object-fit:cover;
  filter:saturate(.9) contrast(.96);
}
.search-result-card div{
  min-width:0;
  padding:18px 18px 16px;
}
.search-result-card p{
  margin:0 0 10px;
  color:#a66642;
  font-size:11px;
  letter-spacing:.14em;
}
.search-result-card h3{
  margin:0 0 8px;
  font-weight:400;
  font-size:22px;
  line-height:1.35;
  word-break:keep-all;
}
.search-result-card strong{
  display:block;
  margin-bottom:12px;
  color:#a66642;
  font-weight:400;
  font-size:21px;
  letter-spacing:.04em;
}
.search-result-card span{
  display:block;
  margin-bottom:10px;
  color:#5d5248;
  font-size:12px;
  line-height:1.6;
}
.search-result-card small{
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  color:#6b6259;
  font-size:12px;
  line-height:1.75;
}
.search-result-card a{
  display:inline-flex;
  margin-top:14px;
  color:#111;
  font-size:12px;
  letter-spacing:.08em;
}
@media(max-width:1180px){
  .axis-freeword{
    grid-column:1/-1;
  }
  .search-result-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:900px){
  .gift-search-results{
    width:auto;
    margin:0 18px 42px;
    padding-top:20px;
  }
  .search-results-head{
    display:block;
  }
  .search-results-clear{
    margin-top:16px;
  }
  .search-result-grid{
    grid-template-columns:1fr;
  }
  .search-result-card{
    grid-template-columns:38% 62%;
    border-radius:15px;
  }
  .search-result-card img{
    min-height:190px;
  }
  .search-result-card div{
    padding:15px 14px;
  }
  .search-result-card h3{
    font-size:19px;
  }
  .search-result-card small{
    -webkit-line-clamp:2;
  }
}


/* quick gift overlay cards + detail popup */
.quick-card-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
  opacity:1;
  transition:opacity .22s ease,transform .22s ease;
}
.quick-card-grid.is-switching{
  opacity:.18;
  transform:translateY(8px);
}
.quick-gift-card.quick-gift-overlay-card{
  position:relative;
  display:block!important;
  min-height:0!important;
  height:360px!important;
  border:0!important;
  border-radius:20px!important;
  overflow:hidden!important;
  background:#15110e!important;
  cursor:pointer;
  box-shadow:0 16px 42px rgba(48,35,23,.12);
  isolation:isolate;
  transition:transform .28s ease,box-shadow .28s ease;
}
.quick-gift-card.quick-gift-overlay-card:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 54px rgba(48,35,23,.18);
}
.quick-gift-card.quick-gift-overlay-card img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  object-fit:cover!important;
  filter:saturate(.9) contrast(.96);
  transition:transform .75s ease,filter .75s ease;
}
.quick-gift-card.quick-gift-overlay-card:hover img{
  transform:scale(1.045);
  filter:saturate(.96) contrast(1);
}
.quick-gift-card.quick-gift-overlay-card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(180deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.10) 38%,rgba(0,0,0,.74) 100%),
    linear-gradient(90deg,rgba(0,0,0,.26),rgba(0,0,0,0) 58%);
}
.quick-gift-card.quick-gift-overlay-card .quick-card-body{
  position:absolute!important;
  left:22px!important;
  right:22px!important;
  bottom:22px!important;
  z-index:2;
  padding:0!important;
  color:#fff!important;
}
.quick-gift-card.quick-gift-overlay-card small{
  display:inline-flex!important;
  margin:0 0 12px!important;
  padding:5px 10px;
  border:1px solid rgba(255,255,255,.42);
  background:rgba(0,0,0,.22);
  border-radius:999px;
  color:rgba(255,255,255,.9)!important;
  font-size:11px!important;
  letter-spacing:.12em;
}
.quick-gift-card.quick-gift-overlay-card h3{
  margin:0 0 8px!important;
  color:#fff!important;
  font-size:clamp(23px,1.85vw,30px)!important;
  line-height:1.32!important;
  font-weight:400!important;
  letter-spacing:.02em;
  word-break:keep-all;
}
.quick-gift-card.quick-gift-overlay-card p{
  margin:0 0 12px!important;
  color:rgba(255,255,255,.82)!important;
  font-size:13px!important;
  line-height:1.65!important;
}
.quick-gift-card.quick-gift-overlay-card strong{
  display:block!important;
  color:#fff!important;
  font-size:25px!important;
  font-weight:400!important;
  letter-spacing:.05em;
  margin:0 0 14px!important;
}
.quick-gift-card.quick-gift-overlay-card span{
  display:inline-flex!important;
  align-items:center;
  gap:8px;
  color:#fff!important;
  font-size:12px;
  letter-spacing:.12em;
}
.quick-gift-card.quick-gift-overlay-card span::after{
  content:"→";
  font-size:16px;
  line-height:1;
}
.quick-gift-card.quick-gift-overlay-card:focus-visible{
  outline:3px solid rgba(166,102,66,.55);
  outline-offset:4px;
}
.quick-gift-modal{
  z-index:5000!important;
}
.quick-gift-modal-box{
  width:min(920px,calc(100vw - 48px))!important;
  max-width:920px!important;
  max-height:min(760px,calc(100vh - 72px))!important;
  padding:0!important;
  overflow:auto!important;
  border-radius:22px!important;
}
.quick-gift-detail{
  display:grid;
  grid-template-columns:46% 54%;
  min-height:520px;
  background:#fffdf8;
}
.quick-gift-detail-media{
  min-height:520px;
  background:#18110e;
}
.quick-gift-detail-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.9) contrast(.96);
}
.quick-gift-detail-copy{
  padding:52px 48px 46px;
}
.quick-gift-detail-copy h2{
  margin:14px 0 16px;
  font-size:clamp(34px,3vw,52px);
  line-height:1.25;
  font-weight:400;
  word-break:keep-all;
}
.quick-gift-detail-copy>strong{
  display:block;
  margin-bottom:22px;
  color:#a66642;
  font-size:32px;
  font-weight:400;
  letter-spacing:.05em;
}
.quick-detail-lead{
  margin:0 0 26px;
  color:#4f453d;
  font-size:16px;
  line-height:1.8;
}
.quick-gift-detail-copy dl{
  margin:0 0 30px;
  border-top:1px solid rgba(205,190,174,.8);
}
.quick-gift-detail-copy dl div{
  padding:15px 0;
  border-bottom:1px solid rgba(205,190,174,.8);
}
.quick-gift-detail-copy dt{
  margin-bottom:7px;
  color:#a66642;
  font-size:12px;
  letter-spacing:.14em;
}
.quick-gift-detail-copy dd{
  margin:0;
  color:#2f2822;
  font-size:15px;
  line-height:1.75;
}
.quick-gift-detail-copy a{
  display:inline-flex;
  height:52px;
  align-items:center;
  justify-content:center;
  padding:0 28px;
  border:1px solid #18110e;
  color:#18110e;
  letter-spacing:.08em;
}
@media(max-width:1180px){
  .quick-card-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:900px){
  .quick-card-grid{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .quick-gift-card.quick-gift-overlay-card{
    height:300px!important;
    border-radius:18px!important;
  }
  .quick-gift-card.quick-gift-overlay-card .quick-card-body{
    left:18px!important;
    right:18px!important;
    bottom:18px!important;
  }
  .quick-gift-modal-box{
    width:calc(100vw - 28px)!important;
    max-height:calc(100vh - 42px)!important;
    border-radius:18px!important;
  }
  .quick-gift-detail{
    grid-template-columns:1fr;
    min-height:0;
  }
  .quick-gift-detail-media{
    min-height:0;
    height:280px;
  }
  .quick-gift-detail-copy{
    padding:30px 24px 28px;
  }
  .quick-gift-detail-copy h2{
    font-size:32px;
  }
}


/* search results overlay cards + popup */
.search-result-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
}
.search-result-card.search-result-overlay-card{
  position:relative;
  display:block!important;
  min-height:0!important;
  height:360px!important;
  border:0!important;
  border-radius:20px!important;
  overflow:hidden!important;
  background:#15110e!important;
  cursor:pointer;
  box-shadow:0 16px 42px rgba(48,35,23,.12);
  isolation:isolate;
  transition:transform .28s ease,box-shadow .28s ease;
}
.search-result-card.search-result-overlay-card:hover{
  transform:translateY(-4px);
  box-shadow:0 22px 54px rgba(48,35,23,.18);
}
.search-result-card.search-result-overlay-card img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  object-fit:cover!important;
  filter:saturate(.9) contrast(.96);
  transition:transform .75s ease,filter .75s ease;
}
.search-result-card.search-result-overlay-card:hover img{
  transform:scale(1.045);
  filter:saturate(.96) contrast(1);
}
.search-result-card.search-result-overlay-card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:
    linear-gradient(180deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.10) 38%,rgba(0,0,0,.74) 100%),
    linear-gradient(90deg,rgba(0,0,0,.26),rgba(0,0,0,0) 58%);
}
.search-result-card.search-result-overlay-card>div{
  position:absolute!important;
  left:22px!important;
  right:22px!important;
  bottom:22px!important;
  z-index:2;
  padding:0!important;
  color:#fff!important;
}
.search-result-card.search-result-overlay-card p{
  display:inline-flex!important;
  margin:0 0 12px!important;
  padding:5px 10px;
  border:1px solid rgba(255,255,255,.42);
  background:rgba(0,0,0,.22);
  border-radius:999px;
  color:rgba(255,255,255,.9)!important;
  font-size:11px!important;
  letter-spacing:.12em;
}
.search-result-card.search-result-overlay-card h3{
  margin:0 0 8px!important;
  color:#fff!important;
  font-size:clamp(23px,1.85vw,30px)!important;
  line-height:1.32!important;
  font-weight:400!important;
  letter-spacing:.02em;
  word-break:keep-all;
}
.search-result-card.search-result-overlay-card strong{
  display:block!important;
  color:#fff!important;
  font-size:25px!important;
  font-weight:400!important;
  letter-spacing:.05em;
  margin:0 0 10px!important;
}
.search-result-card.search-result-overlay-card span{
  display:block!important;
  margin:0 0 14px!important;
  color:rgba(255,255,255,.82)!important;
  font-size:13px!important;
  line-height:1.6!important;
}
.search-result-card.search-result-overlay-card small{
  display:inline-flex!important;
  align-items:center;
  gap:8px;
  color:#fff!important;
  font-size:12px!important;
  letter-spacing:.12em;
}
.search-result-card.search-result-overlay-card small::after{
  content:"→";
  font-size:16px;
  line-height:1;
}
.search-result-card.search-result-overlay-card:focus-visible{
  outline:3px solid rgba(166,102,66,.55);
  outline-offset:4px;
}
.search-gift-modal{
  z-index:5000!important;
}
.search-gift-detail .quick-gift-detail-copy dl div:nth-child(4) dd{
  line-height:1.85;
}
@media(max-width:1180px){
  .search-result-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:900px){
  .search-result-grid{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .search-result-card.search-result-overlay-card{
    height:300px!important;
    border-radius:18px!important;
  }
  .search-result-card.search-result-overlay-card>div{
    left:18px!important;
    right:18px!important;
    bottom:18px!important;
  }
}


/* final polish: search copy + popup title safety */
.axis-select span{
  white-space:nowrap;
}
.quick-gift-detail-copy h2,
.calendar-pop-copy h2{
  overflow:visible!important;
  display:block!important;
  max-height:none!important;
  line-height:1.34!important;
  word-break:keep-all;
  overflow-wrap:anywhere;
}
.quick-gift-detail-copy{
  overflow:visible!important;
}
.quick-gift-modal-box,
.search-gift-modal .quick-gift-modal-box{
  overflow:auto!important;
}

/* Today gift cards clickable */
.daily-item-clickable{
  cursor:pointer;
}
.daily-item-clickable .item-body span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#fff;
  font-size:12px;
  letter-spacing:.12em;
}
.daily-item-clickable .item-body span::after{
  content:"→";
  font-size:16px;
}
.daily-item-clickable:focus-visible{
  outline:3px solid rgba(166,102,66,.55);
  outline-offset:4px;
}

/* calendar popup detail */
#calendarModal{
  z-index:5000!important;
}
#calendarModal .modal-box{
  width:min(900px,calc(100vw - 48px))!important;
  max-width:900px!important;
  max-height:min(760px,calc(100vh - 72px))!important;
  padding:0!important;
  overflow:auto!important;
  border-radius:22px!important;
}
.calendar-pop-detail{
  display:grid;
  grid-template-columns:46% 54%;
  min-height:520px;
  background:#fffdf8;
}
.calendar-pop-media{
  min-height:520px;
  background:#17110e;
}
.calendar-pop-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.9) contrast(.96);
}
.calendar-pop-copy{
  padding:52px 48px 46px;
}
.calendar-pop-copy h2{
  margin:14px 0 16px;
  font-size:clamp(34px,3vw,50px);
  font-weight:400;
}
.calendar-pop-copy>strong{
  display:block;
  margin-bottom:22px;
  color:#a66642;
  font-size:32px;
  font-weight:400;
  letter-spacing:.05em;
}
.calendar-pop-copy p:not(.eyebrow){
  margin:0 0 26px;
  color:#4f453d;
  font-size:16px;
  line-height:1.85;
}
.calendar-pop-copy dl{
  margin:0 0 30px;
  border-top:1px solid rgba(205,190,174,.8);
}
.calendar-pop-copy dl div{
  padding:15px 0;
  border-bottom:1px solid rgba(205,190,174,.8);
}
.calendar-pop-copy dt{
  margin-bottom:7px;
  color:#a66642;
  font-size:12px;
  letter-spacing:.14em;
}
.calendar-pop-copy dd{
  margin:0;
  color:#2f2822;
  font-size:15px;
  line-height:1.75;
}
.calendar-pop-copy a{
  display:inline-flex;
  height:52px;
  align-items:center;
  justify-content:center;
  padding:0 28px;
  border:1px solid #18110e;
  color:#18110e;
  letter-spacing:.08em;
}

/* more dynamic gift calendar */
.calendar-grid{
  perspective:900px;
  position:relative;
}
.day-cell{
  position:relative;
  overflow:hidden;
  animation:calendarCellRise .44s cubic-bezier(.2,.8,.2,1) both;
  animation-delay:var(--day-delay,0s);
  transition:background .25s ease, transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.day-cell.has-event button{
  position:relative;
}
.day-cell.has-event::before{
  content:"";
  position:absolute;
  left:50%;
  bottom:13px;
  width:7px;
  height:7px;
  border-radius:50%;
  background:#a66642;
  box-shadow:0 0 0 8px rgba(166,102,66,.08);
  transform:translateX(-50%);
  z-index:0;
}
.day-cell.has-event:hover{
  transform:translateY(-3px);
  background:#fbf1e8;
  border-color:#c6a48d;
  box-shadow:0 12px 28px rgba(64,43,28,.12);
  z-index:3;
}
.day-cell.active{
  background:#15110e!important;
  color:#fff;
  border-color:#15110e;
  transform:translateY(-5px);
  box-shadow:0 18px 38px rgba(24,17,14,.18);
  z-index:5;
}
.day-cell.active .day-num,
.day-cell.active .day-event{
  color:#fff!important;
}
.day-cell.active::before{
  background:#fff;
  box-shadow:0 0 0 8px rgba(255,255,255,.12);
}
.day-spark{
  position:absolute;
  right:10px;
  top:10px;
  color:#bf8b69;
  font-size:13px;
  animation:sparkFloat 2.4s ease-in-out infinite;
}
.day-cell.active .day-spark{
  color:#fff;
}
.calendar-detail{
  transform-origin:top center;
}
.calendar-detail.is-updated{
  animation:calendarDetailPop .42s cubic-bezier(.2,.85,.2,1) both!important;
}
.calendar-gift-card{
  cursor:pointer;
  animation:calendarGiftRise .42s ease both;
  animation-delay:var(--gift-delay,0s);
}
.calendar-gift-card small{
  display:inline-flex;
  margin-top:8px;
  color:rgba(255,255,255,.86);
  font-size:11px;
  letter-spacing:.12em;
}
.calendar-gift-card small::after{
  content:"→";
  margin-left:8px;
}
.calendar-gift-card:focus-visible{
  outline:3px solid rgba(166,102,66,.55);
  outline-offset:4px;
}
@keyframes calendarCellRise{
  from{opacity:0; transform:translateY(14px) rotateX(8deg);}
  to{opacity:1; transform:translateY(0) rotateX(0);}
}
@keyframes sparkFloat{
  0%,100%{opacity:.65; transform:translateY(0) rotate(0deg);}
  50%{opacity:1; transform:translateY(-3px) rotate(12deg);}
}
@keyframes calendarDetailPop{
  from{opacity:0; transform:translateY(18px) scale(.985);}
  to{opacity:1; transform:translateY(0) scale(1);}
}
@keyframes calendarGiftRise{
  from{opacity:0; transform:translateY(14px);}
  to{opacity:1; transform:translateY(0);}
}
@media(max-width:900px){
  #calendarModal .modal-box{
    width:calc(100vw - 28px)!important;
    max-height:calc(100vh - 42px)!important;
    border-radius:18px!important;
  }
  .calendar-pop-detail{
    grid-template-columns:1fr;
    min-height:0;
  }
  .calendar-pop-media{
    min-height:0;
    height:280px;
  }
  .calendar-pop-copy{
    padding:30px 24px 28px;
  }
  .calendar-pop-copy h2{
    font-size:32px;
  }
}


/* editor pick popup */
.editor-pick-modal{
  z-index:5000!important;
}
.editor-pick-card{
  cursor:pointer;
}
.editor-pick-card:focus-visible{
  outline:3px solid rgba(166,102,66,.55);
  outline-offset:4px;
}
.gift-card-overlay small{
  display:inline-flex;
  margin-top:12px;
  color:rgba(255,255,255,.88);
  font-size:11px;
  letter-spacing:.12em;
}
.gift-card-overlay small::after{
  content:"→";
  margin-left:8px;
  font-size:15px;
}
.editor-pick-detail .quick-gift-detail-copy h2{
  overflow:visible!important;
  display:block!important;
  max-height:none!important;
  line-height:1.34!important;
  word-break:keep-all;
  overflow-wrap:anywhere;
}


/* Gift calendar refresh: week/month view */
.calendar-board{
  overflow:hidden;
}
.calendar-head{
  grid-template-columns:38px minmax(180px,auto) 38px minmax(260px,1fr)!important;
  align-items:center!important;
  row-gap:16px!important;
}
.calendar-view-switch{
  grid-column:1/-1;
  display:flex;
  justify-content:flex-end;
  gap:8px;
  padding-top:4px;
}
.calendar-view-switch button{
  height:38px;
  padding:0 18px;
  border:1px solid rgba(188,172,155,.9);
  border-radius:999px;
  background:#fffdf8;
  color:#65584c;
  font-size:13px;
  letter-spacing:.08em;
  transition:background .22s ease,color .22s ease,transform .22s ease;
}
.calendar-view-switch button.active{
  background:#15110e;
  border-color:#15110e;
  color:#fffdf8;
}
.calendar-view-switch button:hover{
  transform:translateY(-1px);
}
.calendar-week-tabs{
  display:flex;
  gap:10px;
  margin:0 0 20px;
  padding:4px 0 14px;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  border-bottom:1px solid rgba(205,190,174,.66);
}
.calendar-week-tabs[hidden]{
  display:none!important;
}
.calendar-week-tabs button{
  flex:0 0 auto;
  min-width:132px;
  height:50px;
  border:1px solid rgba(188,172,155,.85);
  border-radius:14px;
  background:#fffdf8;
  color:#4f453d;
  text-align:left;
  padding:8px 14px;
  transition:background .22s ease,color .22s ease,transform .22s ease,box-shadow .22s ease;
}
.calendar-week-tabs button span{
  display:block;
  margin-bottom:2px;
  color:#a66642;
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.calendar-week-tabs button.active{
  background:#15110e;
  color:#fff;
  border-color:#15110e;
  box-shadow:0 14px 30px rgba(24,17,14,.14);
}
.calendar-week-tabs button.active span{
  color:#cfa27e;
}
.calendar-week-tabs button:hover{
  transform:translateY(-2px);
}
.calendar-scale-wrap.is-week-view{
  overflow:visible;
}
.calendar-scale-wrap.is-week-view .calendar-grid{
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  gap:12px!important;
}
.calendar-scale-wrap.is-week-view .day-cell{
  height:250px!important;
  margin:0!important;
  border-radius:18px!important;
  padding:0!important;
  background:#fffdf8;
  border:1px solid rgba(205,190,174,.92)!important;
}
.calendar-scale-wrap.is-week-view .day-cell button{
  position:relative;
  padding:18px 16px!important;
  gap:8px!important;
  overflow:hidden;
}
.calendar-scale-wrap.is-week-view .day-num{
  font-size:30px!important;
  color:#17120f;
}
.calendar-scale-wrap.is-week-view .day-event{
  min-height:42px;
  color:#5e554c;
  font-size:13px!important;
  line-height:1.5!important;
  word-break:keep-all;
}
.week-gift-thumb{
  position:absolute;
  left:14px;
  right:14px;
  bottom:42px;
  height:86px;
  border-radius:13px;
  overflow:hidden;
  background:#e8ded3;
}
.week-gift-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.9) contrast(.96);
  transition:transform .55s ease;
}
.week-gift-name{
  position:absolute;
  left:16px;
  right:16px;
  bottom:14px;
  color:#17120f;
  font-size:12px;
  line-height:1.35;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.calendar-scale-wrap.is-week-view .day-cell:hover .week-gift-thumb img{
  transform:scale(1.06);
}
.calendar-scale-wrap.is-week-view .day-cell.active{
  background:#15110e!important;
  border-color:#15110e!important;
}
.calendar-scale-wrap.is-week-view .day-cell.active .week-gift-name,
.calendar-scale-wrap.is-week-view .day-cell.active .day-num,
.calendar-scale-wrap.is-week-view .day-cell.active .day-event{
  color:#fff!important;
}
.empty-day{
  display:flex;
  height:100%;
  align-items:center;
  justify-content:center;
  color:#c9bbae;
}
.calendar-scale-wrap.is-month-view .calendar-grid{
  grid-template-columns:repeat(7,1fr)!important;
  gap:0!important;
}
.calendar-scale-wrap.is-month-view .day-cell{
  height:92px!important;
}
.day-cell.has-event::before{
  display:none!important;
}
.day-spark{
  right:12px!important;
  top:12px!important;
  color:#b57956!important;
}
.day-cell.active .day-spark{
  color:#fff!important;
}

/* calendar detail with articles */
.calendar-detail-split{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr);
  gap:22px;
  align-items:start;
}
.calendar-mini-label{
  margin:0 0 12px!important;
  color:#a66642!important;
  font-size:11px!important;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.calendar-article-block{
  display:grid;
  gap:12px;
}
.calendar-article-card{
  display:grid;
  grid-template-columns:112px 1fr;
  gap:0;
  overflow:hidden;
  border:1px solid rgba(205,190,174,.9);
  border-radius:16px;
  background:#fffdf8;
  box-shadow:0 12px 30px rgba(48,35,23,.06);
}
.calendar-article-card img{
  width:100%;
  height:100%;
  min-height:130px;
  object-fit:cover;
  filter:saturate(.9) contrast(.96);
}
.calendar-article-card div{
  padding:14px 15px;
}
.calendar-article-card span{
  display:block;
  margin-bottom:8px;
  color:#a66642;
  font-size:10px;
  letter-spacing:.14em;
}
.calendar-article-card h4{
  margin:0 0 8px;
  font-size:16px;
  line-height:1.45;
  font-weight:400;
  word-break:keep-all;
}
.calendar-article-card p{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin:0 0 10px!important;
  color:#6b6259!important;
  font-size:12px!important;
  line-height:1.65!important;
}
.calendar-article-card a{
  color:#17120f;
  font-size:12px;
  letter-spacing:.08em;
}

/* remove BUY TODAY empty label visual gap */
.quick-concept-card{
  justify-content:center!important;
}
.quick-concept-card span{
  display:none!important;
}

@media(max-width:1180px){
  .calendar-head{
    grid-template-columns:38px auto 38px!important;
  }
  .month-tabs{
    grid-column:1/-1;
    justify-content:flex-start!important;
  }
  .calendar-view-switch{
    justify-content:flex-start;
  }
  .calendar-scale-wrap.is-week-view{
    overflow-x:auto;
    padding-bottom:8px;
  }
  .calendar-scale-wrap.is-week-view .weekday,
  .calendar-scale-wrap.is-week-view .calendar-grid{
    min-width:900px;
  }
  .calendar-detail-split{
    grid-template-columns:1fr;
  }
  .calendar-article-block{
    grid-template-columns:1fr 1fr;
  }
}
@media(max-width:900px){
  .calendar-head{
    display:grid!important;
    grid-template-columns:36px 1fr 36px!important;
  }
  .calendar-head h3{
    text-align:center;
    font-size:28px!important;
  }
  .calendar-view-switch{
    justify-content:stretch;
  }
  .calendar-view-switch button{
    flex:1;
  }
  .calendar-week-tabs{
    margin-bottom:16px;
  }
  .calendar-scale-wrap.is-week-view .weekday,
  .calendar-scale-wrap.is-week-view .calendar-grid{
    min-width:760px;
  }
  .calendar-scale-wrap.is-week-view .day-cell{
    height:220px!important;
  }
  .week-gift-thumb{
    height:72px;
  }
  .calendar-article-block{
    grid-template-columns:1fr;
  }
  .calendar-article-card{
    grid-template-columns:108px 1fr;
  }
}


/* calendar cleanup pass: gifts only + readable week view */
.calendar-scale-wrap.is-week-view{
  overflow-x:auto!important;
  padding-bottom:12px!important;
}
.calendar-scale-wrap.is-week-view .weekday,
.calendar-scale-wrap.is-week-view .calendar-grid{
  min-width:0!important;
  width:100%!important;
}
.calendar-scale-wrap.is-week-view .weekday{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  gap:12px!important;
  margin-bottom:10px!important;
}
.calendar-scale-wrap.is-week-view .weekday span{
  text-align:center!important;
  padding:0!important;
  color:#8a8076!important;
  font-size:13px!important;
}
.calendar-scale-wrap.is-week-view .calendar-grid{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  gap:12px!important;
}
.calendar-scale-wrap.is-week-view .day-cell{
  height:176px!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  border-radius:18px!important;
  border:1px solid rgba(205,190,174,.96)!important;
  background:#fffdf8!important;
  box-shadow:none!important;
}
.calendar-scale-wrap.is-week-view .day-cell button{
  width:100%!important;
  height:100%!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  align-items:flex-start!important;
  gap:14px!important;
  padding:24px 20px!important;
  text-align:left!important;
}
.calendar-scale-wrap.is-week-view .day-num{
  font-size:44px!important;
  line-height:1!important;
  color:#17120f!important;
  letter-spacing:.04em!important;
}
.calendar-scale-wrap.is-week-view .day-event{
  display:block!important;
  min-height:auto!important;
  max-width:100%!important;
  color:#5e554c!important;
  font-size:16px!important;
  line-height:1.55!important;
  letter-spacing:.03em!important;
  word-break:keep-all!important;
  overflow-wrap:anywhere!important;
}
.calendar-scale-wrap.is-week-view .day-cell.active{
  background:#15110e!important;
  border-color:#15110e!important;
  transform:translateY(-4px)!important;
  box-shadow:0 18px 38px rgba(24,17,14,.15)!important;
}
.calendar-scale-wrap.is-week-view .day-cell.active .day-num,
.calendar-scale-wrap.is-week-view .day-cell.active .day-event{
  color:#fff!important;
}
.calendar-scale-wrap.is-week-view .day-cell:hover{
  transform:translateY(-3px)!important;
  border-color:#b48b70!important;
  box-shadow:0 14px 30px rgba(64,43,28,.11)!important;
}
.week-gift-thumb,
.week-gift-name,
.day-spark,
.day-cell.has-event::before,
.calendar-gift-card:before{
  display:none!important;
  content:none!important;
}

/* month view no dots / no diamond */
.calendar-scale-wrap.is-month-view .day-cell{
  height:96px!important;
}
.calendar-scale-wrap.is-month-view .day-cell button{
  gap:6px!important;
}
.calendar-scale-wrap.is-month-view .day-num{
  font-size:20px!important;
}
.calendar-scale-wrap.is-month-view .day-event{
  font-size:11px!important;
  line-height:1.35!important;
}

/* calendar detail: gift-only horizontal shelf */
.calendar-detail-body{
  overflow:hidden!important;
}
.calendar-detail-split,
.calendar-article-block,
.calendar-article-card{
  display:none!important;
}
.calendar-gift-scroll{
  display:flex!important;
  gap:18px!important;
  overflow-x:auto!important;
  scroll-snap-type:x mandatory!important;
  -webkit-overflow-scrolling:touch!important;
  padding:4px 4px 18px!important;
  margin-top:24px!important;
}
.calendar-gift-scroll::-webkit-scrollbar{
  height:6px;
}
.calendar-gift-scroll::-webkit-scrollbar-track{
  background:#eee6db;
  border-radius:999px;
}
.calendar-gift-scroll::-webkit-scrollbar-thumb{
  background:#b9997f;
  border-radius:999px;
}
.calendar-gift-scroll .calendar-gift-card{
  position:relative!important;
  flex:0 0 calc((100% - 18px)/2)!important;
  min-width:300px!important;
  height:330px!important;
  display:block!important;
  border:0!important;
  border-radius:20px!important;
  overflow:hidden!important;
  background:#15110e!important;
  scroll-snap-align:start!important;
  box-shadow:0 18px 44px rgba(45,33,22,.14)!important;
}
.calendar-gift-scroll .calendar-gift-card img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  filter:saturate(.9) contrast(.96)!important;
  transition:transform .65s ease!important;
}
.calendar-gift-scroll .calendar-gift-card:hover img{
  transform:scale(1.045)!important;
}
.calendar-gift-scroll .calendar-gift-card::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:linear-gradient(180deg,rgba(0,0,0,.04) 0%,rgba(0,0,0,.10) 42%,rgba(0,0,0,.76) 100%)!important;
}
.calendar-gift-scroll .calendar-gift-card div{
  position:absolute!important;
  left:22px!important;
  right:22px!important;
  bottom:22px!important;
  z-index:2!important;
  padding:0!important;
  color:#fff!important;
}
.calendar-gift-scroll .calendar-gift-card h4{
  margin:0 0 10px!important;
  color:#fff!important;
  font-size:clamp(22px,1.8vw,30px)!important;
  line-height:1.32!important;
  font-weight:400!important;
  word-break:keep-all!important;
  overflow-wrap:anywhere!important;
}
.calendar-gift-scroll .calendar-gift-card span{
  display:block!important;
  color:#fff!important;
  font-size:24px!important;
  line-height:1!important;
  margin-bottom:14px!important;
}
.calendar-gift-scroll .calendar-gift-card small{
  display:inline-flex!important;
  align-items:center!important;
  color:rgba(255,255,255,.88)!important;
  font-size:12px!important;
  letter-spacing:.12em!important;
}
.calendar-gift-scroll .calendar-gift-card small::after{
  content:"→"!important;
  margin-left:8px!important;
  font-size:15px!important;
}
@media(max-width:1180px){
  .calendar-scale-wrap.is-week-view .weekday,
  .calendar-scale-wrap.is-week-view .calendar-grid{
    min-width:760px!important;
  }
  .calendar-scale-wrap.is-week-view .day-cell{
    height:160px!important;
  }
  .calendar-scale-wrap.is-week-view .day-num{
    font-size:38px!important;
  }
  .calendar-scale-wrap.is-week-view .day-event{
    font-size:14px!important;
  }
}
@media(max-width:900px){
  .calendar-gift-scroll .calendar-gift-card{
    flex-basis:78%!important;
    min-width:250px!important;
    height:300px!important;
  }
  .calendar-scale-wrap.is-week-view .weekday,
  .calendar-scale-wrap.is-week-view .calendar-grid{
    min-width:720px!important;
  }
  .calendar-scale-wrap.is-week-view .day-cell{
    height:150px!important;
  }
  .calendar-scale-wrap.is-week-view .day-cell button{
    padding:20px 16px!important;
  }
  .calendar-scale-wrap.is-week-view .day-num{
    font-size:34px!important;
  }
}


/* article issue strip refresh */
.article-issue-strip{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:12px!important;
  align-items:stretch!important;
}
.article-issue-strip .article-jacket{
  min-height:260px!important;
  padding:20px 18px!important;
  border-radius:18px!important;
  border:1px solid rgba(205,190,174,.9)!important;
  background:
    linear-gradient(180deg,rgba(255,253,248,.96),rgba(245,237,227,.9)),
    repeating-linear-gradient(90deg,rgba(80,55,35,.035) 0 1px,transparent 1px 16px)!important;
  color:#17120f!important;
  overflow:hidden!important;
  box-shadow:0 14px 36px rgba(48,35,23,.06)!important;
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  text-align:left!important;
  transition:background .25s ease, color .25s ease, transform .25s ease, box-shadow .25s ease;
}
.article-issue-strip .article-jacket::before{
  content:"ISSUE";
  position:absolute;
  right:-8px;
  top:18px;
  writing-mode:vertical-rl;
  color:rgba(166,102,66,.18);
  font-size:40px;
  letter-spacing:.12em;
  font-family:'Playfair Display','Georgia',serif;
}
.article-issue-strip .article-jacket em{
  display:block!important;
  margin:0 0 18px!important;
  color:#a66642!important;
  font-family:'Playfair Display','Georgia',serif!important;
  font-size:62px!important;
  line-height:.9!important;
  font-style:normal!important;
  letter-spacing:.03em!important;
}
.article-issue-strip .article-jacket span{
  display:block!important;
  margin-bottom:14px!important;
  color:#a66642!important;
  font-size:11px!important;
  letter-spacing:.16em!important;
}
.article-issue-strip .article-jacket strong{
  display:block!important;
  margin:auto 0 18px!important;
  color:#17120f!important;
  font-size:18px!important;
  line-height:1.65!important;
  font-weight:400!important;
  word-break:keep-all!important;
  overflow-wrap:anywhere!important;
}
.article-issue-strip .article-jacket small{
  display:inline-flex!important;
  align-items:center!important;
  color:#5d5248!important;
  font-size:11px!important;
  letter-spacing:.14em!important;
}
.article-issue-strip .article-jacket small::after{
  content:"→";
  margin-left:9px;
  font-size:15px;
}
.article-issue-strip .article-jacket:hover{
  transform:translateY(-4px)!important;
  box-shadow:0 20px 46px rgba(48,35,23,.12)!important;
}
.article-issue-strip .article-jacket.active{
  background:#15110e!important;
  border-color:#15110e!important;
  color:#fff!important;
  box-shadow:0 22px 54px rgba(24,17,14,.18)!important;
}
.article-issue-strip .article-jacket.active::before{
  color:rgba(255,255,255,.12);
}
.article-issue-strip .article-jacket.active em,
.article-issue-strip .article-jacket.active span{
  color:#cfa27e!important;
}
.article-issue-strip .article-jacket.active strong,
.article-issue-strip .article-jacket.active small{
  color:#fff!important;
}

/* quick more control */
.quick-more-wrap{
  display:flex;
  justify-content:center;
  margin-top:24px;
}
.quick-more-wrap[hidden]{
  display:none!important;
}
.quick-more-button{
  height:48px;
  padding:0 28px;
  border:1px solid rgba(188,172,155,.92);
  border-radius:999px;
  background:#fffdf8;
  color:#17120f;
  font-size:13px;
  letter-spacing:.12em;
  transition:background .22s ease,color .22s ease,transform .22s ease,box-shadow .22s ease;
}
.quick-more-button:hover{
  background:#15110e;
  color:#fff;
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(24,17,14,.12);
}

@media(max-width:1180px){
  .article-issue-strip{
    display:flex!important;
    overflow-x:auto!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
    padding-bottom:12px!important;
  }
  .article-issue-strip .article-jacket{
    flex:0 0 240px!important;
    scroll-snap-align:start!important;
  }
}
@media(max-width:900px){
  .article-issue-strip .article-jacket{
    flex-basis:220px!important;
    min-height:230px!important;
  }
  .article-issue-strip .article-jacket em{
    font-size:52px!important;
  }
  .article-issue-strip .article-jacket strong{
    font-size:16px!important;
  }
}


/* article issue cards: full image, cleaner spacing */
.article-issue-strip{
  gap:16px!important;
}
.article-issue-strip .article-jacket{
  position:relative!important;
  min-height:300px!important;
  padding:0!important;
  border:0!important;
  border-radius:20px!important;
  overflow:hidden!important;
  background:#15110e!important;
  color:#fff!important;
  box-shadow:0 18px 44px rgba(48,35,23,.12)!important;
  isolation:isolate!important;
  justify-content:flex-end!important;
}
.article-issue-strip .article-jacket img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
  filter:saturate(.88) contrast(.96)!important;
  transition:transform .7s ease, filter .7s ease!important;
}
.article-issue-strip .article-jacket:hover img{
  transform:scale(1.045)!important;
  filter:saturate(.95) contrast(1)!important;
}
.article-issue-strip .article-jacket::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:
    linear-gradient(180deg,rgba(0,0,0,.10) 0%,rgba(0,0,0,.08) 32%,rgba(0,0,0,.76) 100%),
    linear-gradient(90deg,rgba(0,0,0,.22),rgba(0,0,0,0) 60%)!important;
}
.article-issue-strip .article-jacket::before{
  content:"ISSUE"!important;
  position:absolute!important;
  right:14px!important;
  top:14px!important;
  writing-mode:vertical-rl!important;
  z-index:2!important;
  color:rgba(255,255,255,.2)!important;
  font-size:28px!important;
  letter-spacing:.14em!important;
  pointer-events:none!important;
}
.article-issue-strip .article-jacket em{
  position:absolute!important;
  left:18px!important;
  top:16px!important;
  z-index:2!important;
  margin:0!important;
  color:#fff!important;
  font-family:'Playfair Display','Georgia',serif!important;
  font-size:56px!important;
  line-height:.9!important;
  font-style:normal!important;
  letter-spacing:.03em!important;
  text-shadow:0 10px 30px rgba(0,0,0,.28)!important;
}
.article-issue-strip .article-jacket span,
.article-issue-strip .article-jacket strong,
.article-issue-strip .article-jacket small{
  position:relative!important;
  z-index:2!important;
  margin-left:20px!important;
  margin-right:20px!important;
}
.article-issue-strip .article-jacket span{
  display:inline-flex!important;
  width:max-content!important;
  margin-bottom:10px!important;
  padding:5px 10px!important;
  border:1px solid rgba(255,255,255,.42)!important;
  border-radius:999px!important;
  background:rgba(0,0,0,.24)!important;
  color:rgba(255,255,255,.9)!important;
  font-size:10px!important;
  letter-spacing:.14em!important;
}
.article-issue-strip .article-jacket strong{
  display:block!important;
  margin-bottom:18px!important;
  color:#fff!important;
  font-size:17px!important;
  line-height:1.55!important;
  font-weight:400!important;
  word-break:keep-all!important;
  overflow-wrap:anywhere!important;
  letter-spacing:.02em!important;
}
.article-issue-strip .article-jacket small{
  display:inline-flex!important;
  align-items:center!important;
  width:max-content!important;
  margin-bottom:20px!important;
  color:rgba(255,255,255,.88)!important;
  font-size:11px!important;
  letter-spacing:.13em!important;
}
.article-issue-strip .article-jacket.active{
  background:#15110e!important;
  border:0!important;
  box-shadow:0 24px 60px rgba(24,17,14,.22)!important;
}
.article-issue-strip .article-jacket.active img{
  transform:scale(1.035)!important;
}
.article-issue-strip .article-jacket.active::after{
  background:
    linear-gradient(180deg,rgba(0,0,0,.06) 0%,rgba(0,0,0,.10) 30%,rgba(0,0,0,.82) 100%),
    linear-gradient(90deg,rgba(0,0,0,.25),rgba(0,0,0,0) 60%)!important;
}
.article-issue-strip .article-jacket.active em,
.article-issue-strip .article-jacket.active span,
.article-issue-strip .article-jacket.active strong,
.article-issue-strip .article-jacket.active small{
  color:#fff!important;
}
.article-issue-strip .article-jacket.active span{
  border-color:rgba(255,255,255,.52)!important;
}

/* quick section header cleaner */
.just-head{
  grid-template-columns:1fr!important;
  gap:0!important;
}
.just-head > div:first-child{
  max-width:760px!important;
}
.just-head > div:first-child p:not(.eyebrow){
  max-width:none!important;
  white-space:nowrap;
  font-size:16px!important;
}
@media(max-width:900px){
  .article-issue-strip .article-jacket{
    flex-basis:250px!important;
    min-height:280px!important;
  }
  .article-issue-strip .article-jacket em{
    font-size:48px!important;
  }
  .article-issue-strip .article-jacket strong{
    font-size:16px!important;
  }
  .just-head > div:first-child p:not(.eyebrow){
    white-space:normal;
  }
}


/* Header mega menu polish: more breathing room + cleaner line breaks */
.site-header{
  padding-left:48px!important;
  padding-right:48px!important;
}
.global-nav{
  gap:9px!important;
}
.nav-trigger{
  padding:0 14px!important;
  letter-spacing:.04em!important;
}
.mega-panel{
  width:min(1240px,calc(100vw - 112px))!important;
}
.mega-panel-wide{
  width:min(1320px,calc(100vw - 112px))!important;
}
.mega-inner{
  grid-template-columns:minmax(260px,320px) minmax(0,1fr) minmax(250px,280px)!important;
  gap:32px!important;
  padding:34px 40px 36px!important;
  border-radius:0 0 30px 30px!important;
}
.mega-gift,
.mega-now{
  grid-template-columns:minmax(260px,310px) minmax(560px,1fr) minmax(260px,285px)!important;
}
.mega-lead{
  min-width:0!important;
}
.mega-lead h2,
.mega-lead p,
.mega-note strong,
.mega-links a,
.mega-links-rich span,
.mega-links-rich small{
  word-break:keep-all!important;
  overflow-wrap:normal!important;
}
.mega-lead h2{
  font-size:32px!important;
  line-height:1.22!important;
  letter-spacing:.05em!important;
}
.mega-lead p:last-child{
  font-size:14px!important;
  line-height:1.9!important;
  max-width:290px!important;
}
.mega-links{
  gap:13px 14px!important;
}
.mega-links a{
  min-height:46px!important;
  padding:0 18px!important;
  border-radius:999px!important;
  letter-spacing:.03em!important;
}
.mega-links-rich{
  grid-template-columns:repeat(3,minmax(178px,1fr))!important;
  gap:14px!important;
}
.mega-links-rich a{
  min-height:78px!important;
  padding:15px 16px!important;
  border-radius:18px!important;
}
.mega-links-rich span{
  font-size:13.5px!important;
  line-height:1.35!important;
}
.mega-links-rich small{
  font-size:11px!important;
  line-height:1.45!important;
}
.mega-note{
  min-width:0!important;
  min-height:158px!important;
  padding:26px 28px!important;
  border-radius:24px!important;
}
.mega-note span{
  letter-spacing:.2em!important;
}
.mega-note strong{
  display:block!important;
  font-size:18px!important;
  line-height:1.75!important;
  letter-spacing:.04em!important;
}
.mega-note-strong strong{
  font-size:18px!important;
  line-height:1.72!important;
}
.mega-note-strong{
  box-shadow:0 18px 38px rgba(24,17,14,.14)!important;
}
.search-mega,
.menu-mega{
  width:min(1160px,calc(100vw - 112px))!important;
}
.menu-links{
  gap:14px!important;
}
.header-search-box,
.popular-searches button{
  white-space:nowrap!important;
}

/* prevent ugly 1-3 character orphan lines in major section copy */
.section-heading h2,
.section-heading p,
.just-head h2,
.just-head p,
.calendar-intro h2,
.calendar-intro p,
.article-reader-copy h3,
.article-reader-copy p,
.interview-issue-head h2,
.interview-issue-lead,
.search-results-head h2,
.search-results-head p,
.quick-gift-detail-copy h2,
.quick-gift-detail-copy p,
.calendar-pop-copy h2,
.calendar-pop-copy p{
  word-break:keep-all!important;
  overflow-wrap:normal!important;
}
.just-head > div:first-child p:not(.eyebrow){
  max-width:820px!important;
  white-space:nowrap!important;
}

/* medium header safety */
@media(max-width:1280px){
  .site-header{
    padding-left:32px!important;
    padding-right:32px!important;
  }
  .mega-panel,
  .mega-panel-wide,
  .search-mega,
  .menu-mega{
    width:calc(100vw - 64px)!important;
  }
  .mega-inner{
    grid-template-columns:minmax(230px,280px) minmax(0,1fr) minmax(230px,260px)!important;
    gap:24px!important;
    padding:30px 32px 34px!important;
  }
  .mega-gift,
  .mega-now{
    grid-template-columns:minmax(230px,280px) minmax(500px,1fr) minmax(230px,260px)!important;
  }
  .mega-links-rich{
    grid-template-columns:repeat(3,minmax(160px,1fr))!important;
  }
}
@media(max-width:900px){
  .just-head > div:first-child p:not(.eyebrow){
    white-space:normal!important;
  }
  .section-heading h2,
  .section-heading p,
  .calendar-intro h2,
  .calendar-intro p,
  .article-reader-copy h3,
  .article-reader-copy p{
    overflow-wrap:anywhere!important;
  }
}


/* header mega menu final anti-clipping */
.mega-panel,
.mega-panel-wide{
  overflow:visible!important;
}
.mega-inner{
  overflow:visible!important;
  align-items:stretch!important;
}
.mega-links,
.mega-links-rich,
.menu-links{
  align-content:start!important;
}
.mega-links a,
.mega-links-rich a,
.menu-links a{
  overflow:visible!important;
  text-overflow:clip!important;
}
.mega-links-rich a{
  min-height:86px!important;
  padding:16px 18px!important;
}
.mega-links-rich span,
.mega-links-rich small{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  word-break:keep-all!important;
  overflow-wrap:anywhere!important;
}
.mega-links-rich span{
  min-height:1.35em!important;
  font-size:13px!important;
  line-height:1.42!important;
}
.mega-links-rich small{
  font-size:10.5px!important;
  line-height:1.5!important;
}
.mega-note{
  min-height:172px!important;
  overflow:visible!important;
}
.mega-note strong{
  overflow:visible!important;
  text-overflow:clip!important;
  display:block!important;
  word-break:keep-all!important;
  overflow-wrap:anywhere!important;
}
.mega-lead p:last-child{
  overflow:visible!important;
  text-overflow:clip!important;
  word-break:keep-all!important;
  overflow-wrap:anywhere!important;
}
@media(max-width:1280px){
  .mega-links-rich a{
    min-height:92px!important;
  }
  .mega-inner{
    gap:22px!important;
  }
  .mega-gift,
  .mega-now{
    grid-template-columns:minmax(220px,270px) minmax(0,1fr) minmax(230px,260px)!important;
  }
}


/* article detail pages */
.article-page-body{
  margin:0;
  min-width:0;
  background:
    radial-gradient(circle at top left, rgba(255,255,255,.7), transparent 34%),
    linear-gradient(90deg,#f8f4ee,#f4ede4 52%,#fbf7f1);
  color:#17120f;
}
.article-page{
  min-height:100vh;
}
.article-page-header{
  height:74px;
  padding:0 46px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid rgba(190,174,157,.45);
  background:rgba(252,248,241,.92);
  position:sticky;
  top:0;
  z-index:20;
  backdrop-filter:blur(12px);
}
.article-back{
  color:#11100e;
  font-size:34px;
  letter-spacing:-.055em;
}
.article-page-header p{
  margin:0;
  color:#a66642;
  font-size:12px;
  letter-spacing:.18em;
}
.article-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(420px,44vw);
  min-height:620px;
  border-bottom:1px solid rgba(190,174,157,.45);
}
.article-hero-copy{
  padding:96px 72px 80px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
}
.article-hero-copy h1{
  margin:24px 0 28px;
  font-size:clamp(44px,4.8vw,78px);
  line-height:1.3;
  font-weight:400;
  letter-spacing:.02em;
  word-break:keep-all;
  overflow-wrap:anywhere;
}
.article-lead{
  max-width:680px;
  margin:0;
  color:#5d5248;
  font-size:20px;
  line-height:2;
  word-break:keep-all;
  overflow-wrap:anywhere;
}
.article-hero-image{
  min-height:620px;
  overflow:hidden;
}
.article-hero-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.88) contrast(.96);
}

.article-gift-curation{
  padding:68px 72px 26px;
}
.article-curation-head{
  display:grid;
  grid-template-columns:minmax(280px,420px) minmax(0,1fr);
  gap:34px;
  align-items:end;
  margin-bottom:30px;
}
.article-curation-head h2{
  margin:12px 0 0;
  font-size:clamp(34px,3.3vw,52px);
  line-height:1.34;
  font-weight:400;
  word-break:keep-all;
  overflow-wrap:anywhere;
}
.article-curation-head p:last-child{
  margin:0;
  max-width:640px;
  color:#5f554c;
  font-size:16px;
  line-height:1.95;
}
.article-gift-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
}
.article-gift-card{
  overflow:hidden;
  border:1px solid rgba(205,190,174,.85);
  border-radius:22px;
  background:#fffdf8;
  box-shadow:0 16px 38px rgba(48,35,23,.06);
}
.article-gift-media{
  height:260px;
  overflow:hidden;
}
.article-gift-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.9) contrast(.96);
  transition:transform .7s ease;
}
.article-gift-card:hover .article-gift-media img{
  transform:scale(1.04);
}
.article-gift-copy{
  padding:22px 22px 24px;
}
.article-gift-copy span{
  display:block;
  margin-bottom:10px;
  color:#a66642;
  font-size:11px;
  letter-spacing:.14em;
}
.article-gift-copy h3{
  margin:0 0 10px;
  font-size:29px;
  line-height:1.38;
  font-weight:400;
  word-break:keep-all;
  overflow-wrap:anywhere;
}
.article-gift-copy strong{
  display:block;
  margin-bottom:12px;
  color:#17120f;
  font-size:28px;
  font-weight:400;
  letter-spacing:.03em;
}
.article-gift-copy p{
  margin:0;
  color:#5d5248;
  font-size:15px;
  line-height:1.86;
}

.article-content{
  display:grid;
  grid-template-columns:260px minmax(0,780px);
  gap:76px;
  padding:60px 72px 110px;
  justify-content:center;
}
.article-side{
  position:sticky;
  top:110px;
  height:max-content;
  border-top:1px solid rgba(166,102,66,.5);
  padding-top:22px;
}
.article-side p{
  margin:0 0 12px;
  color:#a66642;
  font-family:'Playfair Display','Georgia',serif;
  font-size:48px;
  letter-spacing:.06em;
}
.article-side span{
  color:#6b6259;
  font-size:12px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.article-body{
  min-width:0;
  font-size:18px;
  line-height:2.25;
  color:#332b24;
}
.article-body p{
  margin:0 0 34px;
  word-break:keep-all;
  overflow-wrap:anywhere;
}
.article-body blockquote{
  margin:58px 0;
  padding:42px 48px;
  border:1px solid rgba(190,174,157,.65);
  border-radius:26px;
  background:rgba(255,253,248,.72);
  color:#17120f;
  font-size:30px;
  line-height:1.75;
  font-weight:400;
  word-break:keep-all;
  overflow-wrap:anywhere;
}
.article-bottom-nav{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:58px;
}
.article-bottom-nav a{
  display:inline-flex;
  height:50px;
  align-items:center;
  padding:0 24px;
  border:1px solid rgba(190,174,157,.85);
  border-radius:999px;
  color:#17120f;
  background:#fffdf8;
  letter-spacing:.06em;
}

@media(max-width:1180px){
  .article-hero{
    grid-template-columns:1fr;
    min-height:0;
  }
  .article-hero-image{
    min-height:380px;
    order:-1;
  }
  .article-curation-head{
    grid-template-columns:1fr;
    gap:16px;
  }
  .article-gift-grid{
    grid-template-columns:1fr;
  }
  .article-content{
    grid-template-columns:1fr;
    gap:28px;
  }
  .article-side{
    position:static;
  }
}
@media(max-width:900px){
  .article-page-header{
    height:64px;
    padding:0 22px;
  }
  .article-back{
    font-size:30px;
  }
  .article-page-header p{
    display:none;
  }
  .article-hero-copy{
    padding:46px 28px 34px;
  }
  .article-hero-copy h1{
    font-size:40px;
    line-height:1.34;
  }
  .article-lead{
    font-size:16px;
    line-height:1.9;
  }
  .article-hero-image{
    min-height:320px;
  }
  .article-gift-curation{
    padding:44px 28px 14px;
  }
  .article-curation-head h2{
    font-size:30px;
  }
  .article-curation-head p:last-child{
    font-size:15px;
    line-height:1.85;
  }
  .article-gift-media{
    height:220px;
  }
  .article-gift-copy{
    padding:18px 18px 20px;
  }
  .article-gift-copy h3{
    font-size:24px;
  }
  .article-gift-copy strong{
    font-size:24px;
  }
  .article-content{
    padding:34px 28px 78px;
  }
  .article-body{
    font-size:16px;
    line-height:2;
  }
  .article-body blockquote{
    padding:30px 26px;
    font-size:24px;
  }
}


/* TOP hero layout refinement */
.hero-making-copy{
  width:min(500px,42vw)!important;
  padding-left:72px!important;
  padding-top:84px!important;
}
.hero-making-copy h1{
  font-size:clamp(54px,4.4vw,78px)!important;
  line-height:1.18!important;
  margin:22px 0 24px!important;
  letter-spacing:.035em!important;
}
.hero-making-lead{
  font-size:clamp(17px,1.22vw,21px)!important;
  line-height:1.65!important;
  margin-bottom:18px!important;
}
.hero-making-body{
  font-size:14px!important;
  line-height:1.95!important;
  margin-bottom:28px!important;
  max-width:420px!important;
}
.hero-making-button{
  height:46px!important;
  min-width:168px!important;
  padding:0 22px!important;
}
.hero.hero-making::before{
  background:
    linear-gradient(90deg, rgba(248,244,238,.96) 0%, rgba(248,244,238,.84) 28%, rgba(248,244,238,.34) 49%, rgba(248,244,238,0) 70%),
    radial-gradient(circle at 17% 45%, rgba(255,255,255,.22), transparent 38%)!important;
}

/* article page editorial upgrade */
.article-editor-note{
  width:min(1120px,calc(100% - 96px));
  margin:72px auto 0;
  padding:34px 42px 38px;
  border:1px solid rgba(190,174,157,.72);
  border-radius:28px;
  background:
    linear-gradient(135deg,rgba(255,253,248,.92),rgba(244,236,226,.82)),
    repeating-linear-gradient(90deg,rgba(80,60,44,.035) 0 1px,transparent 1px 18px);
  box-shadow:0 20px 54px rgba(48,35,23,.06);
}
.article-editor-note h2{
  margin:12px 0 14px;
  font-size:clamp(32px,3vw,48px);
  line-height:1.36;
  font-weight:400;
  letter-spacing:.03em;
  word-break:keep-all;
  overflow-wrap:anywhere;
}
.article-editor-note p:not(.eyebrow){
  max-width:850px;
  margin:0;
  color:#4f453d;
  font-size:17px;
  line-height:2;
  word-break:keep-all;
  overflow-wrap:anywhere;
}
.article-gift-curation{
  padding-top:58px!important;
}
.article-gift-card{
  display:grid;
  grid-template-rows:250px 1fr;
}
.article-gift-copy{
  display:flex;
  flex-direction:column;
}
.article-gift-copy > p{
  margin-bottom:22px!important;
}
.article-gift-reason{
  margin-top:auto;
  padding-top:18px;
  border-top:1px solid rgba(205,190,174,.74);
}
.article-gift-reason small{
  display:block;
  margin-bottom:9px;
  color:#a66642;
  font-size:10px;
  letter-spacing:.16em;
}
.article-gift-reason p{
  margin:0;
  color:#332b24;
  font-size:14px;
  line-height:1.85;
  word-break:keep-all;
  overflow-wrap:anywhere;
}

/* avoid article text clipping after added curation */
.article-hero-copy h1,
.article-curation-head h2,
.article-gift-copy h3,
.article-editor-note h2{
  overflow:visible!important;
  max-height:none!important;
}
.article-hero-copy,
.article-gift-copy,
.article-editor-note{
  min-width:0!important;
}
@media(max-width:900px){
  .hero-making-copy{
    width:auto!important;
    padding:78px 28px 0!important;
  }
  .hero-making-copy h1{
    font-size:48px!important;
  }
  .hero-making-body{
    max-width:330px!important;
  }
  .article-editor-note{
    width:auto;
    margin:44px 28px 0;
    padding:28px 24px 30px;
  }
  .article-editor-note h2{
    font-size:29px;
  }
  .article-editor-note p:not(.eyebrow){
    font-size:15px;
    line-height:1.9;
  }
  .article-gift-card{
    grid-template-rows:220px 1fr;
  }
}


/* final refinement: article hero smaller, product explanation stronger */
.article-hero{
  grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr)!important;
  min-height:540px!important;
}
.article-hero-copy{
  padding:74px 60px 56px!important;
  justify-content:center!important;
}
.article-hero-copy h1{
  font-size:clamp(34px,3.7vw,62px)!important;
  line-height:1.34!important;
  margin:18px 0 22px!important;
  letter-spacing:.02em!important;
  max-width:11.5em!important;
}
.article-lead{
  font-size:18px!important;
  line-height:1.92!important;
  max-width:620px!important;
}
.article-hero-image{
  min-height:540px!important;
}
.article-hero-image img{
  object-position:center center!important;
}

.article-gift-curation{
  padding:52px 72px 26px!important;
}
.article-gift-grid{
  display:flex!important;
  flex-direction:column!important;
  gap:18px!important;
}
.article-gift-card{
  display:grid!important;
  grid-template-columns:minmax(260px,340px) minmax(0,1fr)!important;
  grid-template-rows:none!important;
  border-radius:24px!important;
  overflow:hidden!important;
  min-height:290px!important;
}
.article-gift-media{
  height:100%!important;
  min-height:290px!important;
}
.article-gift-media img{
  height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
}
.article-gift-copy{
  padding:26px 28px 28px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 240px!important;
  grid-template-areas:
    "topline price"
    "title price"
    "about reason";
  column-gap:28px!important;
  row-gap:12px!important;
  align-items:start!important;
}
.article-gift-topline{
  grid-area:topline;
  display:flex;
  flex-wrap:wrap;
  gap:10px 12px;
  align-items:center;
}
.article-gift-topline span{
  margin:0!important;
  color:#a66642!important;
  font-size:11px!important;
  letter-spacing:.14em!important;
}
.article-gift-topline b{
  font-weight:400;
  color:#5d5248;
  font-size:12px;
  letter-spacing:.08em;
}
.article-gift-copy h3{
  grid-area:title;
  margin:0!important;
  font-size:31px!important;
  line-height:1.36!important;
}
.article-gift-copy strong{
  grid-area:price;
  justify-self:end;
  align-self:start;
  margin:0!important;
  font-size:34px!important;
  line-height:1!important;
  color:#17120f!important;
}
.article-gift-block,
.article-gift-reason{
  margin-top:2px!important;
  padding-top:16px!important;
  border-top:1px solid rgba(205,190,174,.74)!important;
}
.article-gift-block{
  grid-area:about;
}
.article-gift-reason{
  grid-area:reason;
}
.article-gift-block small,
.article-gift-reason small{
  display:block!important;
  margin-bottom:9px!important;
  color:#a66642!important;
  font-size:10px!important;
  letter-spacing:.16em!important;
}
.article-gift-block p,
.article-gift-reason p{
  margin:0!important;
  font-size:14px!important;
  line-height:1.9!important;
  color:#3c332c!important;
  word-break:keep-all!important;
  overflow-wrap:anywhere!important;
}
.article-gift-copy > p{
  display:none!important;
}

/* top visual refinement */
.hero-making-copy{
  width:min(460px,39vw)!important;
  padding-left:62px!important;
  padding-top:76px!important;
}
.hero-making-copy h1{
  font-size:clamp(46px,3.75vw,68px)!important;
  line-height:1.16!important;
  margin:20px 0 20px!important;
}
.hero-making-lead{
  font-size:17px!important;
  line-height:1.58!important;
}
.hero-making-body{
  max-width:395px!important;
}

@media(max-width:1180px){
  .article-hero{
    grid-template-columns:1fr!important;
    min-height:0!important;
  }
  .article-hero-copy{
    padding:48px 34px 34px!important;
  }
  .article-hero-copy h1{
    max-width:none!important;
    font-size:42px!important;
  }
  .article-lead{
    font-size:16px!important;
  }
  .article-hero-image{
    min-height:340px!important;
    order:-1!important;
  }
  .article-gift-curation{
    padding:40px 34px 18px!important;
  }
  .article-gift-card{
    grid-template-columns:1fr!important;
    min-height:0!important;
  }
  .article-gift-media{
    min-height:240px!important;
  }
  .article-gift-copy{
    grid-template-columns:1fr!important;
    grid-template-areas:
      "topline"
      "title"
      "price"
      "about"
      "reason" !important;
    row-gap:12px!important;
  }
  .article-gift-copy strong{
    justify-self:start!important;
  }
}
@media(max-width:900px){
  .hero-making-copy{
    width:auto!important;
    padding:72px 28px 0!important;
  }
  .hero-making-copy h1{
    font-size:42px!important;
  }
}


/* main TOP restore: back to earlier large editorial hero */
.hero-making-copy{
  width:min(560px,48vw)!important;
  padding-left:78px!important;
  padding-top:96px!important;
}
.hero-making-copy h1{
  font-size:clamp(64px,5.45vw,104px)!important;
  line-height:1.13!important;
  margin:28px 0 28px!important;
  letter-spacing:.04em!important;
}
.hero-making-lead{
  font-size:clamp(18px,1.45vw,25px)!important;
  line-height:1.55!important;
  margin-bottom:24px!important;
}
.hero-making-body{
  max-width:none!important;
  font-size:16px!important;
  line-height:2!important;
  margin-bottom:34px!important;
}
.hero-making-button{
  height:50px!important;
  min-width:180px!important;
  padding:0 28px!important;
}
.hero.hero-making::before{
  background:
    linear-gradient(90deg, rgba(248,244,238,.96) 0%, rgba(248,244,238,.86) 30%, rgba(248,244,238,.38) 52%, rgba(248,244,238,0) 74%),
    radial-gradient(circle at 17% 45%, rgba(255,255,255,.26), transparent 38%)!important;
}

/* article top only: compact, not main TOP */
.article-hero{
  grid-template-columns:minmax(0,.96fr) minmax(420px,1.04fr)!important;
  min-height:520px!important;
}
.article-hero-copy{
  padding:68px 58px 54px!important;
}
.article-hero-copy h1{
  font-size:clamp(36px,3.45vw,58px)!important;
  line-height:1.36!important;
  max-width:12em!important;
}
.article-hero-image{
  min-height:520px!important;
}

/* article gift recommendation: per product, two recommendation points */
.article-gift-grid,
.article-gift-list-editorial{
  display:flex!important;
  flex-direction:column!important;
  gap:22px!important;
}
.article-product-feature{
  display:grid;
  grid-template-columns:minmax(300px,38%) minmax(0,1fr);
  min-height:390px;
  border:1px solid rgba(205,190,174,.86);
  border-radius:28px;
  overflow:hidden;
  background:#fffdf8;
  box-shadow:0 18px 46px rgba(48,35,23,.07);
}
.article-product-feature:nth-child(even){
  grid-template-columns:minmax(0,1fr) minmax(300px,38%);
}
.article-product-feature:nth-child(even) .article-product-image{
  order:2;
}
.article-product-image{
  min-height:390px;
  overflow:hidden;
  background:#17120f;
}
.article-product-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  filter:saturate(.9) contrast(.96);
  transition:transform .75s ease;
}
.article-product-feature:hover .article-product-image img{
  transform:scale(1.035);
}
.article-product-copy{
  padding:34px 38px 36px;
  display:flex;
  flex-direction:column;
}
.article-product-meta{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin-bottom:18px;
}
.article-product-meta span{
  color:#a66642;
  font-size:11px;
  letter-spacing:.16em;
  line-height:1.6;
}
.article-product-meta strong{
  flex:0 0 auto;
  color:#17120f;
  font-size:34px;
  line-height:1;
  font-weight:400;
  letter-spacing:.04em;
}
.article-product-copy h3{
  margin:0 0 16px;
  font-size:clamp(30px,3vw,46px);
  line-height:1.26;
  font-weight:400;
  word-break:keep-all;
  overflow-wrap:anywhere;
}
.article-product-intro{
  margin:0 0 24px;
  color:#51473f;
  font-size:16px;
  line-height:1.92;
  word-break:keep-all;
  overflow-wrap:anywhere;
}
.recommend-points{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-top:auto;
}
.recommend-points section{
  min-height:168px;
  padding:18px 18px 20px;
  border:1px solid rgba(205,190,174,.82);
  border-radius:18px;
  background:
    linear-gradient(135deg,rgba(250,245,238,.92),rgba(255,253,248,.88));
}
.recommend-points em{
  display:block;
  margin-bottom:10px;
  color:#a66642;
  font-size:10px;
  font-style:normal;
  letter-spacing:.16em;
}
.recommend-points h4{
  margin:0 0 10px;
  font-size:20px;
  line-height:1.45;
  font-weight:400;
  word-break:keep-all;
}
.recommend-points p{
  margin:0;
  color:#5a5048;
  font-size:14px;
  line-height:1.85;
  word-break:keep-all;
  overflow-wrap:anywhere;
}

/* remove previous article gift card styling influence for pages that now use product-feature */
.article-product-feature .article-gift-copy,
.article-product-feature .article-gift-media{
  all:unset;
}

/* interview archive image should fill without white bars */
.archive-jacket img[src$="interview-archive-vol04.jpg"]{
  object-fit:cover!important;
  object-position:center 34%!important;
  background:#17120f!important;
}

@media(max-width:1180px){
  .article-hero{
    grid-template-columns:1fr!important;
    min-height:0!important;
  }
  .article-hero-image{
    min-height:340px!important;
    order:-1!important;
  }
  .article-hero-copy h1{
    max-width:none!important;
  }
  .article-product-feature,
  .article-product-feature:nth-child(even){
    grid-template-columns:1fr!important;
    min-height:0!important;
  }
  .article-product-feature:nth-child(even) .article-product-image{
    order:0!important;
  }
  .article-product-image{
    min-height:260px!important;
  }
}
@media(max-width:900px){
  .hero-making-copy{
    width:auto!important;
    padding:86px 28px 0!important;
  }
  .hero-making-copy h1{
    font-size:58px!important;
  }
  .hero-making-body{
    font-size:14px!important;
  }
  .article-product-copy{
    padding:26px 22px 28px;
  }
  .article-product-meta{
    display:block;
  }
  .article-product-meta strong{
    display:block;
    margin-top:12px;
    font-size:28px;
  }
  .article-product-copy h3{
    font-size:30px;
  }
  .recommend-points{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   SP RESPONSIVE PASS
   PC layout remains untouched. These rules activate under 900px.
   ========================================================= */

.mobile-menu-button,
.mobile-drawer{
  display:none;
}

@media(max-width:900px){
  html,body{
    width:100%;
    overflow-x:hidden;
  }
  body{
    font-size:15px;
  }
  .page{
    width:100%;
    min-width:0!important;
  }
  img,video{
    max-width:100%;
  }
  .section{
    padding:46px 20px!important;
  }

  /* SP header */
  .site-header{
    height:64px!important;
    padding:0 20px!important;
    grid-template-columns:1fr auto!important;
    z-index:3000!important;
  }
  .site-header:before{
    left:20px!important;
    right:20px!important;
  }
  .brand{
    font-size:30px!important;
    letter-spacing:-.055em!important;
  }
  .global-nav{
    display:none!important;
  }
  .mobile-menu-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    height:38px;
    padding:0 16px;
    border:1px solid rgba(190,174,157,.78);
    border-radius:999px;
    background:#fffdf8;
    color:#17120f;
    font-size:12px;
    letter-spacing:.14em;
  }
  .mobile-drawer{
    display:block;
    position:fixed;
    left:14px;
    right:14px;
    top:74px;
    z-index:2999;
    opacity:0;
    visibility:hidden;
    transform:translateY(-8px);
    pointer-events:none;
    transition:opacity .22s ease,transform .22s ease,visibility .22s ease;
  }
  .mobile-drawer.open{
    opacity:1;
    visibility:visible;
    transform:translateY(0);
    pointer-events:auto;
  }
  .mobile-drawer-inner{
    display:grid;
    gap:0;
    padding:12px;
    border:1px solid rgba(190,174,157,.7);
    border-radius:22px;
    background:rgba(255,252,246,.98);
    box-shadow:0 24px 70px rgba(43,29,16,.18);
    backdrop-filter:blur(16px);
  }
  .mobile-drawer a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:48px;
    padding:0 14px;
    color:#17120f;
    border-bottom:1px solid rgba(213,201,188,.55);
    font-size:14px;
    letter-spacing:.08em;
  }
  .mobile-drawer a:last-child{
    border-bottom:0;
  }
  .mobile-drawer a:after{
    content:"→";
    color:#a66642;
    font-size:15px;
  }

  /* TOP Hero */
  .hero.hero-making{
    height:720px!important;
    min-height:720px!important;
  }
  .hero-making-frame,
  .hero-making-img,
  .hero-making-video{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
  }
  .hero.hero-making::before{
    background:
      linear-gradient(180deg,rgba(248,244,238,.96) 0%,rgba(248,244,238,.88) 34%,rgba(248,244,238,.46) 65%,rgba(248,244,238,.10) 100%)!important;
  }
  .hero-making-copy{
    width:auto!important;
    max-width:460px!important;
    padding:86px 24px 0!important;
  }
  .hero-making-copy h1{
    font-size:54px!important;
    line-height:1.18!important;
    margin:22px 0 22px!important;
  }
  .hero-making-lead{
    font-size:17px!important;
    line-height:1.7!important;
  }
  .hero-making-body{
    max-width:330px!important;
    font-size:14px!important;
    line-height:1.95!important;
  }
  .hero-making-button{
    height:46px!important;
    min-width:0!important;
    padding:0 22px!important;
    font-size:13px!important;
  }
  .hero-scroll-mark{
    display:none!important;
  }
  .hero-cta-hotspot{
    display:none!important;
  }

  /* Interview */
  .interview-issue{
    padding:48px 20px!important;
  }
  .interview-issue-inner{
    display:block!important;
    width:100%!important;
    min-width:0!important;
  }
  .interview-issue-head,
  .interview-feature{
    width:100%!important;
    min-width:0!important;
  }
  .interview-issue-head h2{
    font-size:34px!important;
    line-height:1.45!important;
    word-break:keep-all!important;
    overflow-wrap:anywhere!important;
  }
  .interview-issue-lead{
    font-size:14px!important;
    line-height:1.9!important;
  }
  .interview-archive{
    margin-top:28px!important;
  }
  .archive-rail{
    display:flex!important;
    overflow-x:auto!important;
    gap:14px!important;
    scroll-snap-type:x mandatory!important;
    padding-bottom:12px!important;
    -webkit-overflow-scrolling:touch!important;
  }
  .archive-jacket{
    flex:0 0 78%!important;
    min-width:260px!important;
    scroll-snap-align:start!important;
  }
  .archive-jacket img{
    height:190px!important;
    object-fit:cover!important;
  }

  /* Search */
  .search-panel,
  .search-axis-panel{
    width:auto!important;
    margin:0 20px 44px!important;
    padding:28px 20px 30px!important;
    border-radius:22px!important;
  }
  .ornament-line{
    gap:12px!important;
  }
  .ornament-line span{
    width:42px!important;
  }
  .ornament-line h2{
    font-size:31px!important;
    white-space:nowrap!important;
  }
  .panel-sub{
    font-size:14px!important;
    line-height:1.8!important;
  }
  .axis-search-form{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .axis-select,
  .axis-freeword{
    grid-column:auto!important;
    min-width:0!important;
  }
  .axis-select select,
  .axis-freeword input{
    height:54px!important;
    font-size:14px!important;
  }
  .axis-submit{
    width:100%!important;
    height:54px!important;
  }
  .gift-search-results{
    width:auto!important;
    margin:0 20px 44px!important;
  }
  .search-results-head{
    display:block!important;
  }
  .search-results-head h2{
    font-size:30px!important;
    line-height:1.42!important;
  }
  .search-result-grid{
    grid-template-columns:1fr!important;
  }

  /* Today + daily */
  .today-row{
    display:block!important;
    padding:42px 20px!important;
  }
  .today-card{
    min-height:0!important;
    padding:30px 24px!important;
    margin-bottom:18px!important;
  }
  .date-block strong{
    font-size:58px!important;
  }
  .today-card h3{
    font-size:36px!important;
    line-height:1.35!important;
  }
  .daily-slider{
    padding:26px 20px!important;
  }
  .section-title-row{
    display:block!important;
    margin-bottom:18px!important;
  }
  .section-title-row h2{
    font-size:31px!important;
    line-height:1.4!important;
  }
  .slider-track{
    overflow-x:auto!important;
    scroll-snap-type:x mandatory!important;
    transform:none!important;
  }
  .daily-item{
    flex:0 0 78%!important;
    min-height:320px!important;
    scroll-snap-align:start!important;
  }

  /* Calendar */
  .calendar-section{
    display:block!important;
    padding:46px 20px!important;
  }
  .calendar-intro{
    margin-bottom:24px!important;
  }
  .calendar-intro h2{
    font-size:34px!important;
    line-height:1.42!important;
  }
  .calendar-board{
    padding:22px 16px!important;
    border-radius:22px!important;
  }
  .calendar-head{
    display:grid!important;
    grid-template-columns:36px 1fr 36px!important;
    gap:10px!important;
  }
  .calendar-head h3{
    font-size:26px!important;
    text-align:center!important;
  }
  .month-tabs,
  .calendar-view-switch{
    grid-column:1/-1!important;
    justify-content:flex-start!important;
    overflow-x:auto!important;
    flex-wrap:nowrap!important;
    padding-bottom:2px!important;
  }
  .month-tabs button,
  .calendar-view-switch button,
  .calendar-week-tabs button{
    flex:0 0 auto!important;
    white-space:nowrap!important;
  }
  .calendar-week-tabs{
    margin:14px 0 16px!important;
  }
  .calendar-scale-wrap.is-week-view{
    overflow-x:auto!important;
  }
  .calendar-scale-wrap.is-week-view .weekday,
  .calendar-scale-wrap.is-week-view .calendar-grid{
    min-width:720px!important;
  }
  .calendar-scale-wrap.is-week-view .day-cell{
    height:148px!important;
  }
  .calendar-scale-wrap.is-week-view .day-cell button{
    padding:18px 14px!important;
  }
  .calendar-scale-wrap.is-week-view .day-num{
    font-size:32px!important;
  }
  .calendar-scale-wrap.is-week-view .day-event{
    font-size:13px!important;
    line-height:1.55!important;
  }
  .calendar-detail{
    margin-top:22px!important;
    padding:22px 16px!important;
    border-radius:20px!important;
  }
  .calendar-detail-head h3{
    font-size:26px!important;
    line-height:1.45!important;
  }
  .calendar-gift-scroll .calendar-gift-card{
    flex-basis:82%!important;
    min-width:250px!important;
    height:300px!important;
  }

  /* Editor picks */
  .section-heading{
    display:block!important;
    margin-bottom:22px!important;
  }
  .section-heading h2{
    font-size:32px!important;
    line-height:1.45!important;
  }
  .section-heading p:not(.eyebrow){
    font-size:14px!important;
    line-height:1.9!important;
  }
  .gift-category-tabs{
    margin-top:16px!important;
    justify-content:flex-start!important;
    overflow-x:auto!important;
    flex-wrap:nowrap!important;
    padding-bottom:4px!important;
  }
  .gift-category-tabs button{
    flex:0 0 auto!important;
    white-space:nowrap!important;
  }
  .product-showcase{
    margin-right:-20px!important;
    padding-right:20px!important;
  }
  .gift-card{
    flex-basis:74vw!important;
    max-width:320px!important;
  }

  /* Articles */
  .editorial-articles{
    padding:46px 20px!important;
  }
  .article-shelf,
  .article-desk{
    display:block!important;
  }
  .article-reader{
    display:block!important;
    padding:0!important;
    overflow:hidden!important;
  }
  .article-reader-image{
    height:260px!important;
  }
  .article-reader-copy{
    padding:24px 20px 28px!important;
  }
  .article-reader-copy h3{
    font-size:29px!important;
    line-height:1.48!important;
  }
  .article-issue-strip{
    margin-top:18px!important;
    display:flex!important;
    overflow-x:auto!important;
    scroll-snap-type:x mandatory!important;
    gap:14px!important;
    padding-bottom:12px!important;
  }
  .article-issue-strip .article-jacket{
    flex:0 0 76%!important;
    min-height:270px!important;
    scroll-snap-align:start!important;
  }

  /* Buy today */
  .just-now{
    padding:46px 20px!important;
  }
  .just-head{
    display:block!important;
  }
  .just-head h2{
    font-size:33px!important;
    line-height:1.4!important;
  }
  .just-head p:not(.eyebrow){
    white-space:normal!important;
    font-size:14px!important;
    line-height:1.85!important;
  }
  .quick-filter-panel{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    padding:18px!important;
    border-radius:20px!important;
  }
  .quick-filter-panel label{
    min-width:0!important;
  }
  .quick-filter-panel select{
    height:52px!important;
    width:100%!important;
  }
  .quick-card-grid{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .quick-gift-card.quick-gift-overlay-card{
    height:300px!important;
  }

  /* Ranking */
  .ranking{
    padding:46px 20px!important;
  }
  .ranking-head{
    display:block!important;
  }
  .ranking-head h2{
    font-size:35px!important;
    line-height:1.35!important;
  }
  .ranking-row,
  .ranking-carousel{
    display:flex!important;
    overflow-x:auto!important;
    scroll-snap-type:x mandatory!important;
    gap:16px!important;
    padding-bottom:16px!important;
  }
  .ranking-card{
    flex:0 0 78%!important;
    min-width:250px!important;
    scroll-snap-align:start!important;
  }

  /* About / newsletter / footer */
  .about-section{
    display:block!important;
    padding:48px 20px!important;
  }
  .about-copy h2{
    font-size:34px!important;
    line-height:1.45!important;
  }
  .about-visual{
    margin-top:24px!important;
  }
  .newsletter{
    display:block!important;
    padding:44px 20px!important;
  }
  .footer{
    padding:42px 20px 28px!important;
  }
  .footer-cols{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:22px!important;
  }
  .footer-bottom{
    display:block!important;
  }

  /* Popup */
  .modal{
    padding:16px!important;
    align-items:center!important;
  }
  .modal-box,
  .ranking-modal-box,
  .quick-gift-modal-box{
    width:calc(100vw - 28px)!important;
    max-width:none!important;
    max-height:calc(100vh - 38px)!important;
    overflow:auto!important;
    border-radius:18px!important;
  }
  .quick-gift-detail,
  .calendar-pop-detail{
    display:block!important;
    min-height:0!important;
  }
  .quick-gift-detail-media,
  .calendar-pop-media{
    height:250px!important;
    min-height:0!important;
  }
  .quick-gift-detail-copy,
  .calendar-pop-copy{
    padding:28px 22px 30px!important;
  }
  .quick-gift-detail-copy h2,
  .calendar-pop-copy h2{
    font-size:30px!important;
    line-height:1.38!important;
  }

  /* Article detail pages */
  .article-page-body,
  .article-page{
    min-width:0!important;
    overflow-x:hidden!important;
  }
  .article-page-header{
    height:64px!important;
    padding:0 22px!important;
  }
  .article-back{
    font-size:30px!important;
  }
  .article-page-header p{
    display:none!important;
  }
  .article-hero{
    display:block!important;
    min-height:0!important;
  }
  .article-hero-image{
    min-height:300px!important;
    height:300px!important;
    order:0!important;
  }
  .article-hero-copy{
    padding:34px 24px 36px!important;
  }
  .article-hero-copy h1{
    max-width:none!important;
    font-size:36px!important;
    line-height:1.42!important;
  }
  .article-lead{
    font-size:15px!important;
    line-height:1.9!important;
  }
  .article-editor-note{
    width:auto!important;
    margin:34px 20px 0!important;
    padding:26px 22px!important;
  }
  .article-editor-note h2{
    font-size:28px!important;
    line-height:1.48!important;
  }
  .article-gift-curation{
    padding:36px 20px 20px!important;
  }
  .article-curation-head{
    display:block!important;
  }
  .article-curation-head h2{
    font-size:29px!important;
    line-height:1.45!important;
  }
  .article-product-feature,
  .article-product-feature:nth-child(even){
    display:block!important;
    min-height:0!important;
  }
  .article-product-feature:nth-child(even) .article-product-image{
    order:0!important;
  }
  .article-product-image{
    height:240px!important;
    min-height:0!important;
  }
  .article-product-copy{
    padding:24px 20px 26px!important;
  }
  .article-product-meta{
    display:block!important;
  }
  .article-product-meta strong{
    display:block!important;
    margin-top:10px!important;
    font-size:27px!important;
  }
  .article-product-copy h3{
    font-size:29px!important;
    line-height:1.38!important;
  }
  .recommend-points{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .article-content{
    display:block!important;
    padding:32px 20px 72px!important;
  }
  .article-side{
    position:static!important;
    margin-bottom:24px!important;
  }
  .article-body{
    font-size:16px!important;
    line-height:2!important;
  }
  .article-body blockquote{
    margin:38px 0!important;
    padding:26px 22px!important;
    font-size:23px!important;
    line-height:1.75!important;
  }
}

@media(max-width:600px){
  .section{
    padding-left:18px!important;
    padding-right:18px!important;
  }
  .hero.hero-making{
    height:680px!important;
    min-height:680px!important;
  }
  .hero-making-copy h1{
    font-size:46px!important;
  }
  .hero-making-lead{
    font-size:16px!important;
  }
  .hero-making-body br{
    display:none;
  }
  .archive-jacket,
  .daily-item,
  .ranking-card,
  .article-issue-strip .article-jacket{
    flex-basis:84%!important;
  }
  .gift-card{
    flex-basis:80vw!important;
  }
  .calendar-scale-wrap.is-week-view .weekday,
  .calendar-scale-wrap.is-week-view .calendar-grid{
    min-width:680px!important;
  }
  .calendar-gift-scroll .calendar-gift-card{
    flex-basis:84%!important;
  }
  .footer-cols{
    grid-template-columns:1fr!important;
  }
}


/* =========================================================
   SP CLEAN-UP PASS
   目的：スマホで横移動が多すぎる状態を減らし、縦に読み進めやすく整理
   PC側には影響しないよう 900px 以下のみで上書き
   ========================================================= */

@media(max-width:900px){

  /* basic rhythm */
  body{
    background:#f8f4ee;
  }
  .section,
  .interview-issue,
  .calendar-section,
  .gift-focus,
  .editorial-articles,
  .just-now,
  .ranking,
  .about-section,
  .newsletter{
    padding-top:44px!important;
    padding-bottom:44px!important;
  }
  .section + .section,
  .interview-issue + .search-panel,
  .search-panel + .gift-search-results{
    margin-top:0!important;
  }
  .section-heading,
  .just-head,
  .calendar-intro,
  .ranking-head,
  .archive-head{
    margin-bottom:20px!important;
  }
  .section-heading h2,
  .just-head h2,
  .calendar-intro h2,
  .ranking-head h2,
  .interview-issue-head h2{
    font-size:30px!important;
    line-height:1.42!important;
    letter-spacing:.02em!important;
  }
  .section-heading p:not(.eyebrow),
  .just-head p:not(.eyebrow),
  .calendar-intro p,
  .ranking-head p,
  .interview-issue-lead{
    font-size:14px!important;
    line-height:1.85!important;
    max-width:none!important;
  }
  .eyebrow{
    font-size:10px!important;
    letter-spacing:.15em!important;
  }

  /* header drawer: make it feel like a real SP menu */
  .mobile-drawer{
    left:10px!important;
    right:10px!important;
    top:70px!important;
  }
  .mobile-drawer-inner{
    padding:8px!important;
    border-radius:18px!important;
  }
  .mobile-drawer a{
    min-height:46px!important;
    padding:0 12px!important;
    font-size:13px!important;
  }

  /* top hero: reduce visual weight on SP */
  .hero.hero-making{
    height:620px!important;
    min-height:620px!important;
  }
  .hero-making-copy{
    max-width:360px!important;
    padding:84px 22px 0!important;
  }
  .hero-making-copy h1{
    font-size:42px!important;
    line-height:1.18!important;
    margin:18px 0 18px!important;
  }
  .hero-making-lead{
    font-size:15px!important;
    line-height:1.68!important;
    margin-bottom:14px!important;
  }
  .hero-making-body{
    max-width:310px!important;
    font-size:13px!important;
    line-height:1.85!important;
    margin-bottom:22px!important;
  }
  .hero-making-button{
    height:42px!important;
    font-size:12px!important;
  }

  /* interview: horizontal rail -> clean vertical cards */
  .interview-issue-inner{
    gap:0!important;
  }
  .interview-feature{
    margin-top:22px!important;
    border-radius:22px!important;
    overflow:hidden!important;
  }
  .interview-feature-copy{
    padding:24px 20px 26px!important;
  }
  .interview-feature-copy h3{
    font-size:28px!important;
    line-height:1.42!important;
  }
  .archive-head{
    display:block!important;
  }
  .archive-rail{
    display:grid!important;
    grid-template-columns:1fr!important;
    overflow:visible!important;
    gap:12px!important;
    padding-bottom:0!important;
  }
  .archive-jacket{
    flex:none!important;
    width:100%!important;
    min-width:0!important;
    display:grid!important;
    grid-template-columns:96px 1fr!important;
    min-height:118px!important;
    border-radius:18px!important;
  }
  .archive-jacket .vol{
    top:10px!important;
    left:10px!important;
    font-size:10px!important;
  }
  .archive-jacket img{
    width:96px!important;
    height:100%!important;
    min-height:118px!important;
    border-radius:0!important;
  }
  .archive-jacket div{
    padding:16px 16px 14px!important;
  }
  .archive-jacket h4{
    font-size:21px!important;
    margin:3px 0 4px!important;
  }
  .archive-jacket strong{
    font-size:13px!important;
    line-height:1.55!important;
  }
  .archive-jacket small,
  .archive-jacket a{
    font-size:11px!important;
  }

  /* search: compact card */
  .search-panel,
  .search-axis-panel{
    margin:0 16px 36px!important;
    padding:24px 16px 22px!important;
    border-radius:20px!important;
  }
  .ornament-line h2{
    font-size:28px!important;
  }
  .ornament-line span{
    width:26px!important;
  }
  .axis-select span{
    font-size:11px!important;
  }
  .axis-select select,
  .axis-freeword input{
    height:50px!important;
    border-radius:14px!important;
  }
  .axis-submit{
    height:50px!important;
    border-radius:14px!important;
  }
  .search-results-head h2{
    font-size:27px!important;
  }
  .search-result-card,
  .quick-gift-card.quick-gift-overlay-card{
    height:260px!important;
    border-radius:20px!important;
  }
  .search-result-card-copy,
  .quick-gift-card-copy{
    padding:20px!important;
  }
  .search-result-card h3,
  .quick-gift-card h3{
    font-size:25px!important;
    line-height:1.34!important;
  }

  /* today: one compact story card + gift list */
  .today-row{
    padding:42px 16px!important;
  }
  .today-card{
    padding:24px 20px!important;
    border-radius:22px!important;
  }
  .date-block strong{
    font-size:46px!important;
  }
  .today-card h3{
    font-size:29px!important;
  }
  .daily-slider{
    padding:22px 16px!important;
    border-radius:22px!important;
  }
  .slider-track{
    display:grid!important;
    grid-template-columns:1fr!important;
    overflow:visible!important;
    gap:12px!important;
  }
  .daily-item{
    flex:none!important;
    width:100%!important;
    min-height:240px!important;
    border-radius:18px!important;
  }
  .daily-item:nth-child(n+4){
    display:none!important;
  }

  /* calendar: week view becomes vertical list on SP */
  .calendar-section{
    padding-left:16px!important;
    padding-right:16px!important;
  }
  .calendar-board{
    padding:20px 14px!important;
    border-radius:20px!important;
  }
  .calendar-head{
    grid-template-columns:34px 1fr 34px!important;
  }
  .calendar-head h3{
    font-size:23px!important;
  }
  .calendar-view-switch{
    gap:8px!important;
  }
  .calendar-view-switch button,
  .calendar-week-tabs button,
  .month-tabs button{
    height:36px!important;
    padding:0 13px!important;
    font-size:11px!important;
  }
  .calendar-scale-wrap.is-week-view{
    overflow:visible!important;
  }
  .calendar-scale-wrap.is-week-view .weekday{
    display:none!important;
  }
  .calendar-scale-wrap.is-week-view .calendar-grid{
    min-width:0!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
  }
  .calendar-scale-wrap.is-week-view .day-cell{
    height:auto!important;
    min-height:84px!important;
    border-radius:16px!important;
  }
  .calendar-scale-wrap.is-week-view .day-cell button{
    min-height:84px!important;
    padding:14px 16px!important;
    display:grid!important;
    grid-template-columns:56px 1fr!important;
    align-items:center!important;
    gap:12px!important;
    text-align:left!important;
  }
  .calendar-scale-wrap.is-week-view .day-num{
    font-size:28px!important;
    line-height:1!important;
  }
  .calendar-scale-wrap.is-week-view .day-event{
    font-size:14px!important;
    line-height:1.5!important;
  }
  .calendar-scale-wrap:not(.is-week-view){
    overflow:visible!important;
  }
  .calendar-scale-wrap:not(.is-week-view) .weekday{
    display:none!important;
  }
  .calendar-scale-wrap:not(.is-week-view) .calendar-grid{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
  }
  .calendar-scale-wrap:not(.is-week-view) .day-cell{
    min-height:96px!important;
  }
  .calendar-detail{
    padding:20px 14px!important;
    border-radius:18px!important;
  }
  .calendar-detail-head h3{
    font-size:23px!important;
  }
  .calendar-gift-scroll{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    overflow:visible!important;
  }
  .calendar-gift-scroll .calendar-gift-card{
    flex:none!important;
    width:100%!important;
    min-width:0!important;
    height:250px!important;
  }

  /* editor picks: fewer giant cards */
  .product-showcase{
    margin-right:0!important;
    padding-right:0!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    overflow:visible!important;
  }
  .gift-card{
    flex:none!important;
    width:100%!important;
    max-width:none!important;
    min-height:260px!important;
    border-radius:20px!important;
  }
  .gift-card:nth-child(n+4){
    display:none!important;
  }
  .gift-category-tabs{
    gap:8px!important;
  }
  .gift-category-tabs button{
    height:36px!important;
    padding:0 13px!important;
    font-size:11px!important;
  }

  /* articles: selected article + simple issue list */
  .article-reader{
    border-radius:22px!important;
  }
  .article-reader-image{
    height:220px!important;
  }
  .article-reader-copy h3{
    font-size:27px!important;
  }
  .article-reader-copy p{
    font-size:14px!important;
    line-height:1.85!important;
  }
  .article-issue-strip{
    display:grid!important;
    grid-template-columns:1fr!important;
    overflow:visible!important;
    gap:12px!important;
  }
  .article-issue-strip .article-jacket{
    flex:none!important;
    width:100%!important;
    min-height:170px!important;
    border-radius:18px!important;
  }
  .article-issue-strip .article-jacket:nth-child(n+4){
    display:none!important;
  }

  /* buy today */
  .quick-filter-panel{
    padding:16px!important;
    border-radius:18px!important;
  }
  .quick-layout{
    margin-top:18px!important;
  }
  .quick-more-button{
    width:100%!important;
    height:48px!important;
  }

  /* ranking: vertical top 5 */
  .ranking-row,
  .ranking-carousel{
    display:grid!important;
    grid-template-columns:1fr!important;
    overflow:visible!important;
    gap:12px!important;
    padding-bottom:0!important;
  }
  .ranking-card{
    flex:none!important;
    width:100%!important;
    min-width:0!important;
    display:grid!important;
    grid-template-columns:86px 1fr!important;
    min-height:116px!important;
    border-radius:18px!important;
  }
  .ranking-image{
    width:86px!important;
    height:100%!important;
    min-height:116px!important;
  }
  .ranking-image img{
    height:100%!important;
    object-fit:cover!important;
  }
  .ranking-meta{
    padding:16px!important;
  }
  .ranking-card h3{
    font-size:20px!important;
    line-height:1.35!important;
  }
  .rank-num{
    top:8px!important;
    left:8px!important;
    width:34px!important;
    height:34px!important;
    font-size:16px!important;
  }
  .ranking-swipe-note{
    display:none!important;
  }

  /* modals: more app-like */
  .modal{
    padding:12px!important;
  }
  .modal-close{
    top:10px!important;
    right:10px!important;
    width:36px!important;
    height:36px!important;
    z-index:4!important;
  }
  .quick-gift-detail-media,
  .calendar-pop-media,
  .ranking-modal-media{
    height:220px!important;
  }
  .quick-gift-detail-copy,
  .calendar-pop-copy,
  .ranking-modal-copy{
    padding:24px 20px 26px!important;
  }
  .quick-gift-detail-copy h2,
  .calendar-pop-copy h2,
  .ranking-modal-copy h2{
    font-size:27px!important;
  }
  .detail-list,
  .quick-gift-detail-list,
  .calendar-pop-list{
    gap:10px!important;
  }

  /* article detail pages: remove big blocks feeling */
  .article-hero-image{
    height:260px!important;
    min-height:260px!important;
  }
  .article-hero-copy{
    padding:28px 20px 30px!important;
  }
  .article-hero-copy h1{
    font-size:31px!important;
    line-height:1.45!important;
  }
  .article-editor-note{
    margin:26px 16px 0!important;
    padding:22px 18px!important;
    border-radius:20px!important;
  }
  .article-editor-note h2{
    font-size:25px!important;
  }
  .article-editor-note p:not(.eyebrow){
    font-size:14px!important;
    line-height:1.85!important;
  }
  .article-gift-curation{
    padding:30px 16px 18px!important;
  }
  .article-curation-head h2{
    font-size:26px!important;
  }
  .article-product-feature{
    border-radius:20px!important;
  }
  .article-product-image{
    height:220px!important;
  }
  .article-product-copy{
    padding:22px 18px 24px!important;
  }
  .article-product-copy h3{
    font-size:26px!important;
  }
  .article-product-intro{
    font-size:14px!important;
    line-height:1.85!important;
  }
  .recommend-points section{
    min-height:0!important;
    padding:16px!important;
    border-radius:16px!important;
  }
  .recommend-points h4{
    font-size:18px!important;
  }
  .recommend-points p{
    font-size:13px!important;
    line-height:1.8!important;
  }
  .article-content{
    padding:28px 16px 68px!important;
  }
}

@media(max-width:600px){
  .site-header{
    padding:0 16px!important;
  }
  .brand{
    font-size:28px!important;
  }
  .mobile-menu-button{
    height:36px!important;
    padding:0 13px!important;
    font-size:11px!important;
  }
  .hero.hero-making{
    height:590px!important;
    min-height:590px!important;
  }
  .hero-making-copy h1{
    font-size:38px!important;
  }
  .hero-making-copy{
    padding-left:20px!important;
    padding-right:20px!important;
  }
  .section-heading h2,
  .just-head h2,
  .calendar-intro h2,
  .ranking-head h2,
  .interview-issue-head h2{
    font-size:28px!important;
  }
  .search-result-card,
  .quick-gift-card.quick-gift-overlay-card,
  .daily-item,
  .gift-card{
    height:240px!important;
    min-height:240px!important;
  }
  .article-reader-image,
  .quick-gift-detail-media,
  .calendar-pop-media,
  .ranking-modal-media{
    height:200px!important;
  }
}


/* =========================================================
   SP TEXT LAYOUT FIX
   文字崩れ・詰まり・不自然な折り返しを優先して調整
   ========================================================= */

@media(max-width:900px){

  /* SPでは無理なkeep-all/anywhereを弱める */
  h1,h2,h3,h4,p,a,span,strong,small,dt,dd,button,label,input,select{
    max-width:100%!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }

  h1,h2,h3,h4,
  .section-heading h2,
  .just-head h2,
  .calendar-intro h2,
  .ranking-head h2,
  .interview-issue-head h2,
  .article-reader-copy h3,
  .article-hero-copy h1,
  .article-curation-head h2,
  .article-editor-note h2,
  .article-product-copy h3,
  .quick-gift-detail-copy h2,
  .calendar-pop-copy h2,
  .ranking-modal-copy h2{
    word-break:normal!important;
    overflow-wrap:break-word!important;
    line-break:strict!important;
    text-wrap:balance;
    white-space:normal!important;
  }

  p,
  .interview-issue-lead,
  .panel-sub,
  .section-heading p,
  .just-head p,
  .calendar-intro p,
  .article-reader-copy p,
  .article-product-intro,
  .recommend-points p,
  .article-body p,
  .article-lead,
  .article-editor-note p:not(.eyebrow),
  .quick-gift-detail-copy p,
  .calendar-pop-copy p,
  .ranking-modal-copy p{
    word-break:normal!important;
    overflow-wrap:break-word!important;
    line-break:strict!important;
    text-wrap:pretty;
    white-space:normal!important;
  }

  /* 見出しサイズを少し落として改行の暴れを抑える */
  .section-heading h2,
  .just-head h2,
  .calendar-intro h2,
  .ranking-head h2,
  .interview-issue-head h2{
    font-size:28px!important;
    line-height:1.52!important;
    letter-spacing:.015em!important;
  }

  .section-heading p:not(.eyebrow),
  .just-head p:not(.eyebrow),
  .calendar-intro p,
  .ranking-head p,
  .interview-issue-lead{
    font-size:14px!important;
    line-height:1.95!important;
  }

  /* TOP Hero 文字 */
  .hero-making-copy{
    max-width:350px!important;
  }
  .hero-making-copy h1{
    font-size:40px!important;
    line-height:1.22!important;
    letter-spacing:.025em!important;
    white-space:normal!important;
  }
  .hero-making-lead{
    font-size:15px!important;
    line-height:1.78!important;
  }
  .hero-making-body{
    font-size:13px!important;
    line-height:1.95!important;
    max-width:320px!important;
  }

  /* インタビュー：小さい横カードで文字が潰れないよう縦カードへ戻す */
  .archive-rail{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
    overflow:visible!important;
  }
  .archive-jacket{
    display:block!important;
    width:100%!important;
    min-height:0!important;
    border-radius:20px!important;
  }
  .archive-jacket img{
    width:100%!important;
    height:210px!important;
    min-height:0!important;
    display:block!important;
    object-fit:cover!important;
  }
  .archive-jacket div{
    padding:18px 18px 20px!important;
  }
  .archive-jacket p{
    font-size:10px!important;
    line-height:1.4!important;
  }
  .archive-jacket h4{
    font-size:22px!important;
    line-height:1.35!important;
    margin:4px 0 6px!important;
  }
  .archive-jacket strong{
    display:block!important;
    font-size:14px!important;
    line-height:1.7!important;
  }

  /* 検索まわり */
  .ornament-line h2{
    font-size:27px!important;
    line-height:1.4!important;
    white-space:normal!important;
  }
  .search-results-head h2{
    font-size:26px!important;
    line-height:1.55!important;
  }
  .search-result-card-copy,
  .quick-gift-card-copy{
    padding:18px!important;
  }
  .search-result-card h3,
  .quick-gift-card h3{
    font-size:23px!important;
    line-height:1.45!important;
  }
  .search-result-card p,
  .quick-gift-card p{
    font-size:13px!important;
    line-height:1.7!important;
  }

  /* 今日・カレンダー */
  .today-card h3{
    font-size:27px!important;
    line-height:1.48!important;
  }
  .today-card p,
  .daily-item p{
    font-size:13px!important;
    line-height:1.75!important;
  }
  .calendar-scale-wrap.is-week-view .day-cell button{
    grid-template-columns:48px minmax(0,1fr)!important;
  }
  .calendar-scale-wrap.is-week-view .day-num{
    font-size:25px!important;
  }
  .calendar-scale-wrap.is-week-view .day-event{
    font-size:13px!important;
    line-height:1.65!important;
  }
  .calendar-detail-head h3{
    font-size:22px!important;
    line-height:1.52!important;
  }

  /* 編集部アイテム */
  .gift-card h3{
    font-size:24px!important;
    line-height:1.45!important;
  }
  .gift-card p,
  .gift-card small{
    line-height:1.7!important;
  }

  /* 記事一覧 */
  .article-reader-copy h3{
    font-size:25px!important;
    line-height:1.55!important;
  }
  .article-reader-copy p{
    font-size:14px!important;
    line-height:1.95!important;
  }
  .article-issue-strip .article-jacket{
    min-height:230px!important;
    padding:20px!important;
  }
  .article-issue-strip .article-jacket h3,
  .article-issue-strip .article-jacket strong{
    font-size:22px!important;
    line-height:1.45!important;
  }
  .article-issue-strip .article-jacket p,
  .article-issue-strip .article-jacket small{
    font-size:12px!important;
    line-height:1.65!important;
  }

  /* 今から間に合う */
  .quick-filter-panel label span{
    font-size:11px!important;
    line-height:1.4!important;
  }
  .quick-filter-panel select{
    font-size:14px!important;
  }

  /* ランキング：横幅が狭いサムネ型だと文字が詰まるため縦カードへ変更 */
  .ranking-row,
  .ranking-carousel{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:14px!important;
    overflow:visible!important;
  }
  .ranking-card{
    display:block!important;
    width:100%!important;
    min-height:0!important;
    border-radius:20px!important;
  }
  .ranking-image{
    width:100%!important;
    height:190px!important;
    min-height:0!important;
  }
  .ranking-meta{
    padding:18px!important;
  }
  .ranking-card h3{
    font-size:22px!important;
    line-height:1.45!important;
  }
  .ranking-card p,
  .ranking-card span{
    font-size:13px!important;
    line-height:1.7!important;
  }

  /* 記事詳細ページ */
  .article-hero-copy h1{
    font-size:29px!important;
    line-height:1.55!important;
    letter-spacing:.015em!important;
  }
  .article-lead{
    font-size:14px!important;
    line-height:1.95!important;
  }
  .article-editor-note h2{
    font-size:24px!important;
    line-height:1.55!important;
  }
  .article-curation-head h2{
    font-size:25px!important;
    line-height:1.52!important;
  }
  .article-product-copy h3{
    font-size:25px!important;
    line-height:1.48!important;
  }
  .article-product-meta span{
    display:block!important;
    font-size:10px!important;
    line-height:1.7!important;
  }
  .article-product-meta strong{
    font-size:25px!important;
    line-height:1.2!important;
  }
  .article-product-intro{
    font-size:14px!important;
    line-height:1.9!important;
  }
  .recommend-points h4{
    font-size:17px!important;
    line-height:1.55!important;
  }
  .recommend-points p{
    font-size:13px!important;
    line-height:1.85!important;
  }
  .article-body{
    font-size:15px!important;
    line-height:2.05!important;
  }
  .article-body blockquote{
    font-size:21px!important;
    line-height:1.85!important;
  }

  /* POPUP */
  .quick-gift-detail-copy h2,
  .calendar-pop-copy h2,
  .ranking-modal-copy h2{
    font-size:26px!important;
    line-height:1.5!important;
  }
  .quick-gift-detail-copy p,
  .calendar-pop-copy p,
  .ranking-modal-copy p,
  .detail-list dd,
  .quick-gift-detail-list dd,
  .calendar-pop-list dd{
    font-size:13px!important;
    line-height:1.85!important;
  }
}

@media(max-width:600px){
  .hero-making-copy h1{
    font-size:36px!important;
  }
  .section-heading h2,
  .just-head h2,
  .calendar-intro h2,
  .ranking-head h2,
  .interview-issue-head h2{
    font-size:26px!important;
  }
  .archive-jacket img,
  .ranking-image{
    height:180px!important;
  }
  .article-hero-copy h1{
    font-size:27px!important;
  }
  .article-reader-copy h3,
  .article-product-copy h3{
    font-size:24px!important;
  }
}


/* =========================================================
   SP INTERVIEW TEXT COLLAPSE FIX
   スクショ箇所：インタビュー見出しが1文字ずつ縦落ちする問題を修正
   ========================================================= */

@media(max-width:900px){
  .interview-issue{
    padding:46px 18px!important;
  }
  .interview-issue-inner{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }

  .interview-issue-head{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0 0 24px!important;
    padding:0!important;
  }
  .interview-issue-head > div{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .interview-issue-head .eyebrow{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    white-space:nowrap!important;
    writing-mode:horizontal-tb!important;
    text-orientation:mixed!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    font-size:10px!important;
    line-height:1.6!important;
    letter-spacing:.13em!important;
    margin:0 0 14px!important;
  }
  .interview-issue-head h2,
  #interviewIssueTitle{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    white-space:normal!important;
    writing-mode:horizontal-tb!important;
    text-orientation:mixed!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
    line-break:strict!important;
    font-size:30px!important;
    line-height:1.52!important;
    letter-spacing:.02em!important;
    margin:0 0 16px!important;
  }
  .interview-issue-lead{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    white-space:normal!important;
    writing-mode:horizontal-tb!important;
    text-orientation:mixed!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
    font-size:14px!important;
    line-height:1.95!important;
    margin:0!important;
  }

  .interview-feature-layout{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:18px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .interview-feature-card,
  .interview-next-card{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
  }
  .interview-feature-copy{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    padding:24px 20px 26px!important;
  }
  .interview-feature-copy h3,
  .interview-next-card h3{
    writing-mode:horizontal-tb!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
    font-size:26px!important;
    line-height:1.5!important;
  }
  .feature-detail p,
  .next-note,
  .guest-name,
  .next-guest{
    writing-mode:horizontal-tb!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
  }
}

@media(max-width:600px){
  .interview-issue-head h2,
  #interviewIssueTitle{
    font-size:28px!important;
    line-height:1.55!important;
  }
}


/* =========================================================
   FINAL SP LAYOUT CORRECTION
   CTA / interview archive / calendar default / text wrapping
   ========================================================= */

/* Hero CTA: one clean boxed button, no duplicate arrow */
.hero-making-button{
  width:max-content!important;
  min-width:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:18px!important;
  padding:0 20px!important;
  border:1px solid rgba(55,42,31,.48)!important;
  border-radius:8px!important;
  background:rgba(255,253,248,.76)!important;
  color:#17120f!important;
  box-shadow:none!important;
  white-space:nowrap!important;
}
.hero-making-button::after{
  content:"→"!important;
  display:inline-block!important;
  position:static!important;
  transform:none!important;
  margin:0!important;
  font-size:15px!important;
  line-height:1!important;
  color:inherit!important;
}

@media(max-width:900px){

  /* Hero text and CTA alignment */
  .hero-making-copy{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    width:100%!important;
    max-width:390px!important;
  }
  .hero-making-button{
    align-self:flex-start!important;
    height:44px!important;
    margin:4px 0 0!important;
    padding:0 18px!important;
    gap:16px!important;
    font-size:12px!important;
    letter-spacing:.05em!important;
  }

  /* Interview archive: horizontal cards that actually scroll */
  .interview-archive{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
    margin-top:30px!important;
    padding:24px 0 0!important;
  }
  .archive-head{
    display:flex!important;
    align-items:flex-end!important;
    justify-content:space-between!important;
    gap:16px!important;
    width:100%!important;
    padding:0 2px 16px!important;
  }
  .archive-head > div{
    min-width:0!important;
  }
  .archive-head .eyebrow{
    white-space:normal!important;
    margin-bottom:6px!important;
  }
  .archive-head h3{
    margin:0!important;
    font-size:28px!important;
    line-height:1.4!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
  }
  .archive-head > a{
    flex:0 0 auto!important;
    white-space:nowrap!important;
    font-size:12px!important;
  }
  .archive-rail{
    display:flex!important;
    grid-template-columns:none!important;
    width:100%!important;
    max-width:100%!important;
    gap:14px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    padding:0 24px 16px 0!important;
    scroll-snap-type:x mandatory!important;
    scroll-padding-left:0!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-x:contain!important;
    scrollbar-width:none!important;
  }
  .archive-rail::-webkit-scrollbar{
    display:none!important;
  }
  .archive-jacket{
    flex:0 0 min(82vw,320px)!important;
    width:min(82vw,320px)!important;
    min-width:min(82vw,320px)!important;
    max-width:320px!important;
    height:auto!important;
    min-height:0!important;
    display:block!important;
    scroll-snap-align:start!important;
    overflow:hidden!important;
    border-radius:20px!important;
  }
  .archive-jacket img{
    display:block!important;
    width:100%!important;
    height:205px!important;
    min-height:0!important;
    object-fit:cover!important;
    object-position:center 28%!important;
  }
  .archive-jacket > div{
    display:block!important;
    height:auto!important;
    min-height:210px!important;
    padding:18px 18px 20px!important;
  }
  .archive-jacket p{
    margin:0 0 8px!important;
    font-size:10px!important;
    line-height:1.5!important;
  }
  .archive-jacket h4{
    margin:0 0 8px!important;
    font-size:22px!important;
    line-height:1.4!important;
  }
  .archive-jacket strong{
    display:block!important;
    min-height:0!important;
    margin:0 0 14px!important;
    font-size:14px!important;
    line-height:1.7!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
  }
  .archive-jacket small{
    display:block!important;
    margin:0 0 14px!important;
    font-size:11px!important;
    line-height:1.4!important;
  }
  .archive-jacket a{
    display:inline-flex!important;
    align-items:center!important;
    gap:12px!important;
    font-size:12px!important;
  }

  /* Month is the default view; keep switch compact and visible */
  .calendar-view-switch{
    display:flex!important;
    width:max-content!important;
    max-width:100%!important;
    overflow:visible!important;
    padding:3px!important;
    border:1px solid rgba(190,174,157,.7)!important;
    border-radius:999px!important;
    background:rgba(255,253,248,.65)!important;
  }
  .calendar-view-switch button{
    min-width:74px!important;
    height:36px!important;
    border:0!important;
    border-radius:999px!important;
  }
  .calendar-view-switch button.active{
    background:#24170f!important;
    color:#fffaf1!important;
  }
  .calendar-week-tabs[hidden]{
    display:none!important;
  }

  /* Month view: readable two-column list, no cramped 7-column calendar */
  .calendar-scale-wrap.is-month-view{
    overflow:visible!important;
  }
  .calendar-scale-wrap.is-month-view .weekday{
    display:none!important;
  }
  .calendar-scale-wrap.is-month-view .calendar-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px!important;
    min-width:0!important;
  }
  .calendar-scale-wrap.is-month-view .day-cell{
    width:100%!important;
    min-width:0!important;
    min-height:104px!important;
    height:auto!important;
    border-radius:15px!important;
  }
  .calendar-scale-wrap.is-month-view .day-cell button{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    min-height:104px!important;
    padding:13px!important;
    text-align:left!important;
  }
  .calendar-scale-wrap.is-month-view .day-num{
    display:block!important;
    margin-bottom:8px!important;
    font-size:24px!important;
    line-height:1!important;
  }
  .calendar-scale-wrap.is-month-view .day-event{
    display:block!important;
    font-size:12px!important;
    line-height:1.55!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
  }

  /* Final typography reset: avoid one-character columns and strange phrase breaks */
  .interview-issue *,
  .interview-archive *,
  .calendar-section *,
  .section-heading *,
  .just-head *,
  .ranking-head *,
  .article-reader-copy *,
  .article-page *{
    writing-mode:horizontal-tb!important;
    text-orientation:mixed!important;
  }
  .interview-issue h1,
  .interview-issue h2,
  .interview-issue h3,
  .interview-archive h3,
  .interview-archive h4,
  .section-heading h2,
  .just-head h2,
  .calendar-intro h2,
  .ranking-head h2,
  .article-reader-copy h3,
  .article-hero-copy h1,
  .article-curation-head h2,
  .article-editor-note h2,
  .article-product-copy h3{
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
    line-break:strict!important;
    text-wrap:wrap!important;
  }
  .interview-issue p,
  .interview-archive p,
  .interview-archive strong,
  .section-heading p,
  .just-head p,
  .calendar-intro p,
  .calendar-section p,
  .ranking-head p,
  .article-reader-copy p,
  .article-page p{
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
    line-break:strict!important;
    text-wrap:wrap!important;
  }
  .eyebrow{
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
}

@media(max-width:600px){
  .hero-making-copy{
    max-width:340px!important;
  }
  .archive-jacket{
    flex-basis:82vw!important;
    width:82vw!important;
    min-width:82vw!important;
  }
  .calendar-scale-wrap.is-month-view .calendar-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .calendar-scale-wrap.is-month-view .day-cell,
  .calendar-scale-wrap.is-month-view .day-cell button{
    min-height:98px!important;
  }
}


/* =========================================================
   SMARTPHONE TYPOGRAPHY FINAL PASS
   スマホ版の文字サイズ・行間・読みやすさを全体で再調整
   ========================================================= */

@media(max-width:900px){
  :root{
    --sp-page-x:18px;
  }

  body{
    font-size:15px!important;
    line-height:1.75!important;
    -webkit-text-size-adjust:100%;
  }

  .section,
  .interview-issue,
  .calendar-section,
  .gift-focus,
  .editorial-articles,
  .just-now,
  .ranking,
  .about-section,
  .newsletter{
    padding-left:var(--sp-page-x)!important;
    padding-right:var(--sp-page-x)!important;
  }

  /* Header */
  .site-header{
    padding-left:var(--sp-page-x)!important;
    padding-right:var(--sp-page-x)!important;
  }
  .brand{
    font-size:29px!important;
  }
  .mobile-menu-button{
    font-size:11px!important;
    height:36px!important;
  }

  /* Shared title rhythm */
  .eyebrow,
  .episode-tag,
  .mega-kicker{
    font-size:10px!important;
    line-height:1.6!important;
    letter-spacing:.14em!important;
    white-space:normal!important;
    word-break:normal!important;
  }

  .section-heading h2,
  .just-head h2,
  .calendar-intro h2,
  .ranking-head h2,
  .interview-issue-head h2,
  .archive-head h3{
    font-size:28px!important;
    line-height:1.5!important;
    letter-spacing:.015em!important;
    margin-bottom:10px!important;
  }

  .section-heading p:not(.eyebrow),
  .just-head p:not(.eyebrow),
  .calendar-intro p,
  .ranking-head p,
  .interview-issue-lead{
    font-size:14px!important;
    line-height:1.9!important;
  }

  /* Top hero */
  .hero.hero-making{
    height:620px!important;
    min-height:620px!important;
  }
  .hero-making-copy{
    max-width:350px!important;
    padding-left:var(--sp-page-x)!important;
    padding-right:var(--sp-page-x)!important;
  }
  .hero-making-copy h1{
    font-size:39px!important;
    line-height:1.24!important;
    letter-spacing:.015em!important;
  }
  .hero-making-lead{
    font-size:15px!important;
    line-height:1.78!important;
  }
  .hero-making-body{
    font-size:13px!important;
    line-height:1.95!important;
  }

  /* Interview */
  .interview-issue-head h2{
    font-size:29px!important;
    line-height:1.55!important;
  }
  .interview-feature-copy h3,
  .interview-next-card h3{
    font-size:25px!important;
    line-height:1.55!important;
  }
  .feature-detail p,
  .next-note{
    font-size:14px!important;
    line-height:1.9!important;
  }
  .archive-head h3{
    font-size:27px!important;
  }
  .archive-jacket h4{
    font-size:21px!important;
    line-height:1.45!important;
  }
  .archive-jacket strong{
    font-size:13px!important;
    line-height:1.75!important;
  }

  /* Search */
  .ornament-line h2{
    font-size:26px!important;
    line-height:1.45!important;
  }
  .panel-sub{
    font-size:14px!important;
    line-height:1.9!important;
  }
  .axis-select span{
    font-size:11px!important;
    line-height:1.4!important;
  }
  .axis-select select,
  .axis-freeword input{
    font-size:14px!important;
  }
  .search-results-head h2{
    font-size:25px!important;
    line-height:1.55!important;
  }
  .search-results-head p{
    font-size:14px!important;
    line-height:1.9!important;
  }

  /* Card overlay text */
  .search-result-card h3,
  .quick-gift-card h3,
  .gift-card h3,
  .daily-item h3{
    font-size:23px!important;
    line-height:1.45!important;
  }
  .search-result-card p,
  .quick-gift-card p,
  .gift-card p,
  .daily-item p{
    font-size:13px!important;
    line-height:1.75!important;
  }

  /* Today */
  .today-card h3{
    font-size:27px!important;
    line-height:1.5!important;
  }
  .today-card p{
    font-size:14px!important;
    line-height:1.9!important;
  }

  /* Calendar */
  .calendar-head h3{
    font-size:22px!important;
    line-height:1.4!important;
  }
  .calendar-view-switch button,
  .calendar-week-tabs button,
  .month-tabs button{
    font-size:11px!important;
    letter-spacing:.06em!important;
  }
  .calendar-scale-wrap.is-week-view .day-cell button{
    grid-template-columns:44px minmax(0,1fr)!important;
  }
  .calendar-scale-wrap.is-week-view .day-num{
    font-size:24px!important;
  }
  .calendar-scale-wrap.is-week-view .day-event{
    font-size:13px!important;
    line-height:1.65!important;
  }
  .calendar-scale-wrap.is-month-view .day-num{
    font-size:23px!important;
  }
  .calendar-scale-wrap.is-month-view .day-event{
    font-size:12px!important;
    line-height:1.6!important;
  }
  .calendar-detail-head h3{
    font-size:22px!important;
    line-height:1.55!important;
  }

  /* Article list */
  .article-reader-copy h3{
    font-size:25px!important;
    line-height:1.6!important;
  }
  .article-reader-copy p{
    font-size:14px!important;
    line-height:1.95!important;
  }
  .article-issue-strip .article-jacket h3,
  .article-issue-strip .article-jacket strong{
    font-size:21px!important;
    line-height:1.5!important;
  }

  /* Ranking */
  .ranking-card h3{
    font-size:21px!important;
    line-height:1.5!important;
  }
  .ranking-card p,
  .ranking-card span{
    font-size:13px!important;
    line-height:1.75!important;
  }

  /* About / footer */
  .about-copy h2{
    font-size:28px!important;
    line-height:1.5!important;
  }
  .about-copy p,
  .newsletter p,
  .footer p,
  .footer a{
    font-size:13px!important;
    line-height:1.8!important;
  }

  /* Detail pages */
  .article-hero-copy h1{
    font-size:28px!important;
    line-height:1.58!important;
  }
  .article-lead{
    font-size:14px!important;
    line-height:1.95!important;
  }
  .article-editor-note h2,
  .article-curation-head h2{
    font-size:24px!important;
    line-height:1.58!important;
  }
  .article-editor-note p:not(.eyebrow),
  .article-curation-head p{
    font-size:14px!important;
    line-height:1.95!important;
  }
  .article-product-copy h3{
    font-size:24px!important;
    line-height:1.52!important;
  }
  .article-product-intro{
    font-size:14px!important;
    line-height:1.95!important;
  }
  .recommend-points h4{
    font-size:17px!important;
    line-height:1.55!important;
  }
  .recommend-points p{
    font-size:13px!important;
    line-height:1.9!important;
  }
  .article-body{
    font-size:15px!important;
    line-height:2.05!important;
  }
  .article-body blockquote{
    font-size:20px!important;
    line-height:1.9!important;
  }

  /* Popup */
  .quick-gift-detail-copy h2,
  .calendar-pop-copy h2,
  .ranking-modal-copy h2{
    font-size:25px!important;
    line-height:1.52!important;
  }
  .quick-gift-detail-copy p,
  .calendar-pop-copy p,
  .ranking-modal-copy p,
  .detail-list dd,
  .quick-gift-detail-list dd,
  .calendar-pop-list dd{
    font-size:13px!important;
    line-height:1.9!important;
  }

  /* Prevent awkward forced breaks globally on SP */
  h1,h2,h3,h4,p,span,strong,small,a,button,dt,dd,label,select,input{
    writing-mode:horizontal-tb!important;
    text-orientation:mixed!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
    text-overflow:clip!important;
    max-width:100%!important;
  }
  .eyebrow,
  .episode-tag,
  .rank-num,
  .vol{
    overflow-wrap:normal!important;
  }
}

@media(max-width:600px){
  :root{
    --sp-page-x:16px;
  }
  .hero.hero-making{
    height:590px!important;
    min-height:590px!important;
  }
  .hero-making-copy h1{
    font-size:36px!important;
  }
  .section-heading h2,
  .just-head h2,
  .calendar-intro h2,
  .ranking-head h2,
  .interview-issue-head h2,
  .archive-head h3{
    font-size:26px!important;
  }
  .interview-issue-head h2{
    font-size:27px!important;
  }
  .article-hero-copy h1{
    font-size:26px!important;
  }
  .calendar-view-switch button{
    min-width:68px!important;
  }
}


/* =========================================================
   SP FINAL READABILITY / CALENDAR MONTH / SECTION SPACING
   ========================================================= */

@media(max-width:900px){

  /* 黒背景セクションから検索カードまでの距離を確保 */
  .interview-issue{
    padding-bottom:58px!important;
  }
  .interview-issue + .search-panel,
  .search-panel.search-axis-panel{
    margin-top:28px!important;
  }
  .search-panel,
  .search-axis-panel{
    margin-left:18px!important;
    margin-right:18px!important;
    margin-bottom:46px!important;
  }

  /* SP全体の文字を少し読みやすく再整理 */
  body{
    font-size:15px!important;
    line-height:1.85!important;
    letter-spacing:.01em!important;
  }
  p,
  dd,
  li,
  .panel-sub,
  .section-heading p:not(.eyebrow),
  .just-head p:not(.eyebrow),
  .calendar-intro p,
  .ranking-head p,
  .interview-issue-lead,
  .article-reader-copy p,
  .article-product-intro,
  .recommend-points p,
  .article-body p{
    font-size:14.5px!important;
    line-height:1.95!important;
    letter-spacing:.01em!important;
  }
  h1,h2,h3,h4{
    letter-spacing:.018em!important;
  }
  .section-heading h2,
  .just-head h2,
  .calendar-intro h2,
  .ranking-head h2,
  .interview-issue-head h2,
  .archive-head h3{
    font-size:27px!important;
    line-height:1.52!important;
  }
  .eyebrow,
  .episode-tag{
    font-size:10px!important;
    line-height:1.6!important;
    letter-spacing:.13em!important;
  }

  /* 検索フォームの文字・余白 */
  .ornament-line{
    margin-bottom:12px!important;
  }
  .ornament-line h2{
    font-size:26px!important;
    line-height:1.45!important;
  }
  .panel-sub{
    margin-bottom:22px!important;
  }
  .axis-select span{
    font-size:11px!important;
    margin-bottom:8px!important;
  }
  .axis-select select,
  .axis-freeword input{
    height:52px!important;
    font-size:14.5px!important;
    padding-left:16px!important;
  }
  .axis-submit{
    height:52px!important;
    font-size:14px!important;
  }

  /* カレンダー：SPの月表示は2列カードをやめて1列リスト型にする */
  .calendar-scale-wrap.is-month-view{
    overflow:visible!important;
  }
  .calendar-scale-wrap.is-month-view .weekday{
    display:none!important;
  }
  .calendar-scale-wrap.is-month-view .calendar-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    min-width:0!important;
    width:100%!important;
  }
  .calendar-scale-wrap.is-month-view .day-cell{
    width:100%!important;
    min-width:0!important;
    min-height:72px!important;
    height:auto!important;
    border-radius:16px!important;
    overflow:hidden!important;
  }
  .calendar-scale-wrap.is-month-view .day-cell.muted{
    display:none!important;
  }
  .calendar-scale-wrap.is-month-view .day-cell button{
    display:grid!important;
    grid-template-columns:52px minmax(0,1fr)!important;
    align-items:center!important;
    gap:12px!important;
    width:100%!important;
    min-height:72px!important;
    padding:14px 16px!important;
    text-align:left!important;
  }
  .calendar-scale-wrap.is-month-view .day-num{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:42px!important;
    height:42px!important;
    margin:0!important;
    border:1px solid rgba(190,174,157,.64)!important;
    border-radius:50%!important;
    color:#17120f!important;
    font-size:21px!important;
    line-height:1!important;
  }
  .calendar-scale-wrap.is-month-view .day-event{
    display:block!important;
    min-width:0!important;
    color:#3f352e!important;
    font-size:14px!important;
    line-height:1.65!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
  }

  /* 週表示も文字サイズを見やすく調整 */
  .calendar-scale-wrap.is-week-view .calendar-grid{
    gap:10px!important;
  }
  .calendar-scale-wrap.is-week-view .day-cell button{
    grid-template-columns:48px minmax(0,1fr)!important;
    min-height:86px!important;
    padding:15px 16px!important;
  }
  .calendar-scale-wrap.is-week-view .day-num{
    font-size:24px!important;
  }
  .calendar-scale-wrap.is-week-view .day-event{
    font-size:14px!important;
    line-height:1.65!important;
  }

  .calendar-board{
    padding:20px 15px 22px!important;
  }
  .calendar-head h3{
    font-size:23px!important;
  }
  .calendar-view-switch{
    margin-top:10px!important;
  }
  .calendar-view-switch button{
    font-size:11px!important;
  }
  .calendar-detail{
    margin-top:20px!important;
  }
  .calendar-detail-head h3{
    font-size:22px!important;
    line-height:1.55!important;
  }

  /* オーバーレイ系カードの文字を少し安定させる */
  .search-result-card h3,
  .quick-gift-card h3,
  .gift-card h3,
  .daily-item h3{
    font-size:23px!important;
    line-height:1.45!important;
  }
  .search-result-card p,
  .quick-gift-card p,
  .gift-card p,
  .daily-item p{
    font-size:13.5px!important;
    line-height:1.8!important;
  }

  /* モーダル内も読みやすく */
  .quick-gift-detail-copy h2,
  .calendar-pop-copy h2,
  .ranking-modal-copy h2{
    font-size:25px!important;
    line-height:1.52!important;
  }
  .quick-gift-detail-copy p,
  .calendar-pop-copy p,
  .ranking-modal-copy p,
  .detail-list dd,
  .quick-gift-detail-list dd,
  .calendar-pop-list dd{
    font-size:13.5px!important;
    line-height:1.9!important;
  }
}

@media(max-width:600px){
  .interview-issue + .search-panel,
  .search-panel.search-axis-panel{
    margin-top:30px!important;
  }
  .search-panel,
  .search-axis-panel{
    margin-left:16px!important;
    margin-right:16px!important;
  }
  .section-heading h2,
  .just-head h2,
  .calendar-intro h2,
  .ranking-head h2,
  .interview-issue-head h2,
  .archive-head h3{
    font-size:26px!important;
  }
  p,
  dd,
  li,
  .panel-sub,
  .section-heading p:not(.eyebrow),
  .just-head p:not(.eyebrow),
  .calendar-intro p,
  .ranking-head p,
  .interview-issue-lead,
  .article-reader-copy p,
  .article-product-intro,
  .recommend-points p,
  .article-body p{
    font-size:14px!important;
  }
  .calendar-scale-wrap.is-month-view .day-cell button{
    grid-template-columns:48px minmax(0,1fr)!important;
    padding:13px 14px!important;
  }
  .calendar-scale-wrap.is-month-view .day-num{
    width:40px!important;
    height:40px!important;
    font-size:20px!important;
  }
  .calendar-scale-wrap.is-month-view .day-event{
    font-size:13.5px!important;
  }
}


/* =========================================================
   SP RANK NUMBER / WEEK CALENDAR COMPACT FIX
   ========================================================= */

@media(max-width:900px){

  /* 人気ランキング：SPでも順位番号を必ず表示 */
  .ranking-card{
    position:relative!important;
    overflow:hidden!important;
  }
  .ranking-card .rank-num,
  .rank-num{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    position:absolute!important;
    z-index:5!important;
    top:12px!important;
    left:12px!important;
    width:38px!important;
    height:38px!important;
    border:1px solid rgba(255,255,255,.42)!important;
    border-radius:50%!important;
    background:rgba(20,16,13,.72)!important;
    color:#f2c48d!important;
    font-size:18px!important;
    line-height:1!important;
    font-family:'Playfair Display',Georgia,serif!important;
    font-weight:400!important;
    letter-spacing:0!important;
    text-shadow:none!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:none!important;
    transform:none!important;
    max-width:none!important;
  }
  .ranking-image{
    position:relative!important;
  }

  /* カレンダー：SP週表示を前半で見えるように圧縮 */
  .calendar-section{
    padding-top:38px!important;
    padding-bottom:38px!important;
  }
  .calendar-intro{
    margin-bottom:16px!important;
  }
  .calendar-intro h2{
    font-size:25px!important;
    line-height:1.42!important;
    margin-bottom:8px!important;
  }
  .calendar-intro p{
    font-size:13.5px!important;
    line-height:1.75!important;
    margin:0!important;
  }
  .calendar-board{
    padding:16px 13px 18px!important;
    border-radius:20px!important;
  }
  .calendar-head{
    grid-template-columns:32px minmax(0,1fr) 32px!important;
    gap:8px!important;
    align-items:center!important;
    margin-bottom:10px!important;
  }
  .calendar-head h3{
    font-size:21px!important;
    line-height:1.25!important;
    margin:0!important;
  }
  .calendar-nav{
    width:32px!important;
    height:32px!important;
  }
  .month-tabs{
    display:none!important;
  }
  .calendar-view-switch{
    grid-column:1/-1!important;
    justify-content:center!important;
    width:100%!important;
    margin:8px 0 0!important;
    padding:3px!important;
  }
  .calendar-view-switch button{
    flex:1 1 0!important;
    min-width:0!important;
    height:34px!important;
    font-size:11px!important;
  }
  .calendar-week-tabs{
    margin:10px 0 12px!important;
    display:flex!important;
    gap:7px!important;
    overflow-x:auto!important;
    padding-bottom:2px!important;
  }
  .calendar-week-tabs[hidden]{
    display:none!important;
  }
  .calendar-week-tabs button{
    flex:0 0 auto!important;
    height:32px!important;
    padding:0 11px!important;
    font-size:10.5px!important;
    border-radius:999px!important;
  }

  /* 週表示：日時・記念日名の余白を整理 */
  .calendar-scale-wrap.is-week-view{
    overflow:visible!important;
  }
  .calendar-scale-wrap.is-week-view .weekday{
    display:none!important;
  }
  .calendar-scale-wrap.is-week-view .calendar-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:7px!important;
    min-width:0!important;
    width:100%!important;
  }
  .calendar-scale-wrap.is-week-view .day-cell{
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:58px!important;
    border-radius:14px!important;
  }
  .calendar-scale-wrap.is-week-view .day-cell.muted{
    display:none!important;
  }
  .calendar-scale-wrap.is-week-view .day-cell button{
    display:grid!important;
    grid-template-columns:42px minmax(0,1fr)!important;
    align-items:center!important;
    gap:10px!important;
    width:100%!important;
    min-height:58px!important;
    padding:9px 12px!important;
    text-align:left!important;
  }
  .calendar-scale-wrap.is-week-view .day-num{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:36px!important;
    height:36px!important;
    margin:0!important;
    border:1px solid rgba(190,174,157,.62)!important;
    border-radius:50%!important;
    color:#17120f!important;
    font-size:19px!important;
    line-height:1!important;
  }
  .calendar-scale-wrap.is-week-view .day-event{
    display:block!important;
    min-width:0!important;
    color:#3d332b!important;
    font-size:13px!important;
    line-height:1.5!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
  }
  .calendar-detail{
    margin-top:14px!important;
    padding:17px 13px!important;
  }
  .calendar-detail-head{
    margin-bottom:12px!important;
  }
  .calendar-detail-head h3{
    font-size:20px!important;
    line-height:1.45!important;
  }
  .calendar-gift-scroll{
    gap:10px!important;
  }
  .calendar-gift-scroll .calendar-gift-card{
    height:220px!important;
  }

  /* 前半セクションの縦間延び抑制 */
  .interview-issue{
    padding-bottom:46px!important;
  }
  .interview-issue + .search-panel,
  .search-panel.search-axis-panel{
    margin-top:24px!important;
  }
}

@media(max-width:600px){
  .ranking-card .rank-num,
  .rank-num{
    width:36px!important;
    height:36px!important;
    top:10px!important;
    left:10px!important;
    font-size:17px!important;
  }
  .calendar-board{
    padding:15px 12px 17px!important;
  }
  .calendar-scale-wrap.is-week-view .day-cell button{
    grid-template-columns:40px minmax(0,1fr)!important;
    padding:9px 11px!important;
  }
  .calendar-scale-wrap.is-week-view .day-num{
    width:34px!important;
    height:34px!important;
    font-size:18px!important;
  }
  .calendar-scale-wrap.is-week-view .day-event{
    font-size:12.8px!important;
  }
}


/* =========================================================
   HARD SP CALENDAR CLEANUP
   スマホカレンダーの崩れを最終上書きで整理
   ========================================================= */

@media(max-width:900px){

  .calendar-section{
    padding:36px 16px!important;
    background:#f8f4ee!important;
  }
  .calendar-intro{
    margin:0 0 16px!important;
  }
  .calendar-intro h2{
    margin:0 0 10px!important;
    font-size:26px!important;
    line-height:1.42!important;
    letter-spacing:.02em!important;
  }
  .calendar-intro p{
    margin:0!important;
    font-size:14px!important;
    line-height:1.8!important;
  }

  .calendar-board{
    padding:16px 14px 18px!important;
    border-radius:22px!important;
    overflow:hidden!important;
    background:#fffdf8!important;
  }

  .calendar-head{
    display:grid!important;
    grid-template-columns:34px minmax(0,1fr) 34px!important;
    gap:8px!important;
    align-items:center!important;
    margin:0 0 12px!important;
  }
  .calendar-head h3{
    margin:0!important;
    text-align:center!important;
    font-size:22px!important;
    line-height:1.2!important;
    letter-spacing:.02em!important;
    white-space:nowrap!important;
  }
  .calendar-nav{
    width:34px!important;
    height:34px!important;
    border-radius:50%!important;
  }

  .month-tabs{
    display:none!important;
  }

  .calendar-view-switch{
    grid-column:1/-1!important;
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:0!important;
    width:100%!important;
    margin:0!important;
    padding:3px!important;
    border:1px solid rgba(190,174,157,.78)!important;
    border-radius:999px!important;
    background:#fffaf4!important;
    overflow:hidden!important;
  }
  .calendar-view-switch button{
    width:100%!important;
    height:36px!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:999px!important;
    background:transparent!important;
    color:#74695f!important;
    font-size:11px!important;
    line-height:36px!important;
    letter-spacing:.08em!important;
  }
  .calendar-view-switch button.active{
    background:#24170f!important;
    color:#fffaf1!important;
  }

  /* week tabs: pill row only, no overlap, no border-line glitches */
  .calendar-week-tabs{
    position:relative!important;
    display:flex!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    margin:12px 0 12px!important;
    padding:0 0 4px!important;
    gap:8px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    border:0!important;
    background:transparent!important;
    white-space:nowrap!important;
    scroll-snap-type:x proximity!important;
    scrollbar-width:none!important;
  }
  .calendar-week-tabs::-webkit-scrollbar{
    display:none!important;
  }
  .calendar-week-tabs[hidden]{
    display:none!important;
  }
  .calendar-week-tabs::before,
  .calendar-week-tabs::after{
    display:none!important;
    content:none!important;
  }
  .calendar-week-tabs button{
    position:relative!important;
    flex:0 0 auto!important;
    width:auto!important;
    min-width:112px!important;
    height:40px!important;
    margin:0!important;
    padding:0 14px!important;
    border:1px solid rgba(190,174,157,.82)!important;
    border-radius:999px!important;
    background:#fffdf8!important;
    color:#8f583a!important;
    font-size:11px!important;
    line-height:1.2!important;
    letter-spacing:.08em!important;
    white-space:nowrap!important;
    overflow:hidden!important;
  }
  .calendar-week-tabs button.active{
    background:#24170f!important;
    color:#fffaf1!important;
    border-color:#24170f!important;
  }

  /* remove all calendar decorative dots / sparkles on SP */
  .calendar-section .day-cell::before,
  .calendar-section .day-cell::after,
  .calendar-section .day-cell button::before,
  .calendar-section .day-cell button::after,
  .calendar-section .day-spark,
  .calendar-section .week-gift-thumb,
  .calendar-section .week-gift-name{
    display:none!important;
    content:none!important;
  }

  /* Week view: simple readable list */
  .calendar-scale-wrap.is-week-view{
    display:block!important;
    overflow:visible!important;
    padding:0!important;
  }
  .calendar-scale-wrap.is-week-view .weekday{
    display:none!important;
  }
  .calendar-scale-wrap.is-week-view .calendar-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
  }
  .calendar-scale-wrap.is-week-view .day-cell{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:62px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid rgba(205,190,174,.9)!important;
    border-radius:16px!important;
    background:#fffdf8!important;
    box-shadow:none!important;
    transform:none!important;
    overflow:hidden!important;
  }
  .calendar-scale-wrap.is-week-view .day-cell button{
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr)!important;
    align-items:center!important;
    gap:12px!important;
    width:100%!important;
    height:auto!important;
    min-height:62px!important;
    margin:0!important;
    padding:10px 14px!important;
    text-align:left!important;
  }
  .calendar-scale-wrap.is-week-view .day-num{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:38px!important;
    height:38px!important;
    margin:0!important;
    border:1px solid rgba(190,174,157,.7)!important;
    border-radius:50%!important;
    color:#17120f!important;
    font-size:19px!important;
    line-height:1!important;
  }
  .calendar-scale-wrap.is-week-view .day-event{
    display:block!important;
    min-width:0!important;
    margin:0!important;
    color:#3f352e!important;
    font-size:13.5px!important;
    line-height:1.55!important;
    letter-spacing:.02em!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
  }
  .calendar-scale-wrap.is-week-view .day-cell.active{
    background:#17110e!important;
    border-color:#17110e!important;
    box-shadow:none!important;
    transform:none!important;
  }
  .calendar-scale-wrap.is-week-view .day-cell.active .day-num{
    border-color:rgba(255,255,255,.55)!important;
    color:#fffaf1!important;
  }
  .calendar-scale-wrap.is-week-view .day-cell.active .day-event{
    color:#fffaf1!important;
  }
  .calendar-scale-wrap.is-week-view .day-cell.muted{
    display:none!important;
  }

  /* Month view: simple readable list too */
  .calendar-scale-wrap.is-month-view{
    display:block!important;
    overflow:visible!important;
    padding:0!important;
  }
  .calendar-scale-wrap.is-month-view .weekday{
    display:none!important;
  }
  .calendar-scale-wrap.is-month-view .calendar-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
  }
  .calendar-scale-wrap.is-month-view .day-cell{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:62px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid rgba(205,190,174,.9)!important;
    border-radius:16px!important;
    background:#fffdf8!important;
    box-shadow:none!important;
    transform:none!important;
    overflow:hidden!important;
  }
  .calendar-scale-wrap.is-month-view .day-cell.muted{
    display:none!important;
  }
  .calendar-scale-wrap.is-month-view .day-cell button{
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr)!important;
    align-items:center!important;
    gap:12px!important;
    width:100%!important;
    height:auto!important;
    min-height:62px!important;
    margin:0!important;
    padding:10px 14px!important;
    text-align:left!important;
  }
  .calendar-scale-wrap.is-month-view .day-num{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:38px!important;
    height:38px!important;
    margin:0!important;
    border:1px solid rgba(190,174,157,.7)!important;
    border-radius:50%!important;
    color:#17120f!important;
    font-size:19px!important;
    line-height:1!important;
  }
  .calendar-scale-wrap.is-month-view .day-event{
    display:block!important;
    min-width:0!important;
    margin:0!important;
    color:#3f352e!important;
    font-size:13.5px!important;
    line-height:1.55!important;
    letter-spacing:.02em!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
  }
  .calendar-scale-wrap.is-month-view .day-cell.active{
    background:#17110e!important;
    border-color:#17110e!important;
    box-shadow:none!important;
    transform:none!important;
  }
  .calendar-scale-wrap.is-month-view .day-cell.active .day-num{
    border-color:rgba(255,255,255,.55)!important;
    color:#fffaf1!important;
  }
  .calendar-scale-wrap.is-month-view .day-cell.active .day-event{
    color:#fffaf1!important;
  }

  .calendar-detail{
    margin-top:14px!important;
    padding:16px 14px!important;
    border-radius:18px!important;
  }
  .calendar-detail-head{
    margin-bottom:12px!important;
  }
  .calendar-detail-head h3{
    margin:0!important;
    font-size:20px!important;
    line-height:1.45!important;
  }
  .calendar-gift-scroll{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    overflow:visible!important;
  }
  .calendar-gift-scroll .calendar-gift-card{
    width:100%!important;
    min-width:0!important;
    height:220px!important;
    flex:none!important;
  }
}

@media(max-width:600px){
  .calendar-section{
    padding-left:14px!important;
    padding-right:14px!important;
  }
  .calendar-board{
    padding:15px 12px 17px!important;
  }
  .calendar-week-tabs button{
    min-width:104px!important;
    height:38px!important;
    font-size:10.5px!important;
  }
  .calendar-scale-wrap.is-week-view .day-cell button,
  .calendar-scale-wrap.is-month-view .day-cell button{
    grid-template-columns:42px minmax(0,1fr)!important;
    padding:10px 12px!important;
  }
  .calendar-scale-wrap.is-week-view .day-num,
  .calendar-scale-wrap.is-month-view .day-num{
    width:36px!important;
    height:36px!important;
    font-size:18px!important;
  }
  .calendar-scale-wrap.is-week-view .day-event,
  .calendar-scale-wrap.is-month-view .day-event{
    font-size:13px!important;
  }
}


/* =========================================================
   SP HEADING FIX
   見出しだけ自然な改行・サイズに調整
   ========================================================= */

.sp-heading-keep{
  display:inline-block;
}

@media(max-width:900px){
  /* 見出しは本文より少し締めて、不自然な1〜2文字落ちを避ける */
  .interview-issue-head h2,
  #interviewIssueTitle{
    font-size:26px!important;
    line-height:1.62!important;
    letter-spacing:.018em!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    white-space:normal!important;
  }

  .interview-feature-copy h3,
  .interview-next-card h3{
    font-size:24px!important;
    line-height:1.62!important;
    letter-spacing:.018em!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    white-space:normal!important;
  }

  .section-heading h2,
  .just-head h2,
  .calendar-intro h2,
  .ranking-head h2,
  .archive-head h3,
  .article-reader-copy h3,
  .article-hero-copy h1,
  .article-curation-head h2,
  .article-editor-note h2,
  .article-product-copy h3{
    font-size:clamp(24px,6.1vw,28px)!important;
    line-height:1.58!important;
    letter-spacing:.015em!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
    white-space:normal!important;
  }

  /* 手動で区切った見出しの後半は途中で割らない */
  .sp-heading-keep{
    display:inline-block!important;
    white-space:nowrap!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
    max-width:100%!important;
  }

  /* 画像下の見出しが詰まらないように */
  .interview-feature-copy{
    padding-top:24px!important;
  }
  .interview-feature-copy h3{
    margin-bottom:18px!important;
  }

  /* 英字ラベルは変に広がらないよう小さめ */
  .episode-tag,
  .interview-issue-head .eyebrow,
  .archive-head .eyebrow{
    font-size:10px!important;
    line-height:1.55!important;
    letter-spacing:.12em!important;
  }
}

@media(max-width:600px){
  .interview-issue-head h2,
  #interviewIssueTitle{
    font-size:25px!important;
    line-height:1.64!important;
  }
  .interview-feature-copy h3,
  .interview-next-card h3{
    font-size:23px!important;
    line-height:1.64!important;
  }
  .section-heading h2,
  .just-head h2,
  .calendar-intro h2,
  .ranking-head h2,
  .archive-head h3,
  .article-reader-copy h3,
  .article-hero-copy h1,
  .article-curation-head h2,
  .article-editor-note h2,
  .article-product-copy h3{
    font-size:25px!important;
    line-height:1.6!important;
  }
}


/* =========================================================
   FUNCTION UPDATE V1 : page links / SP visibility / modal fixes
   ========================================================= */

.archive-more-button,
.article-more-link{
  cursor:pointer;
}
.archive-head .archive-more-button{
  border:1px solid currentColor;
  background:transparent;
  color:inherit;
  border-radius:999px;
  padding:10px 18px;
  font:inherit;
  font-size:13px;
  letter-spacing:.08em;
}
.archive-rail{
  scroll-snap-type:x mandatory;
}
.archive-jacket{
  scroll-snap-align:start;
}
.archive-rail.is-collapsed .archive-extra{
  display:none;
}
.archive-rail.is-expanded{
  overflow-x:auto!important;
  -webkit-overflow-scrolling:touch;
  padding-bottom:14px;
}
.article-more-wrap{
  max-width:1180px;
  margin:26px auto 0;
  display:flex;
  justify-content:center;
}
.article-more-link{
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 24px;
}

.youtube-embed{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  background:#111;
  border-radius:18px;
  overflow:hidden;
  margin:22px 0;
}
.youtube-embed iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
}
.youtube-empty{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:8px;
  padding:24px;
  text-align:center;
  color:#fff;
  background:linear-gradient(135deg,#111,#2a211b);
}
.youtube-empty span{
  color:rgba(255,255,255,.72);
  font-size:13px;
}
.youtube-empty.is-hidden{
  display:none;
}

.axis-search-form{
  align-items:end;
}
.calendar-scale-wrap .day-cell button{
  width:100%;
  height:100%;
  cursor:pointer;
}
.day-cell.no-event .day-event{
  opacity:.72;
}
.calendar-popup-gifts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-top:22px;
}
.calendar-popup-gift{
  border:1px solid rgba(0,0,0,.10);
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  cursor:pointer;
}
.calendar-popup-gift img{
  width:100%;
  height:110px;
  object-fit:cover;
  display:block;
}
.calendar-popup-gift div{
  padding:12px;
}
.calendar-popup-gift strong,
.calendar-popup-gift span,
.calendar-popup-gift small{
  display:block;
}
.calendar-popup-gift strong{
  font-size:14px;
  line-height:1.45;
}
.calendar-popup-gift span{
  margin-top:5px;
}
.calendar-popup-gift small{
  margin-top:5px;
  color:var(--muted,#777);
  line-height:1.45;
}

/* detail modal layout fix */
.quick-gift-detail,
.calendar-pop-detail,
.ranking-detail{
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:0;
  max-height:min(82vh,760px);
  overflow:hidden;
}
.quick-gift-detail-media,
.calendar-pop-media,
.ranking-detail-image{
  min-height:100%;
}
.quick-gift-detail-media img,
.calendar-pop-media img,
.ranking-detail-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.quick-gift-detail-copy,
.calendar-pop-copy,
.ranking-detail-copy{
  min-width:0;
  overflow:auto;
  padding:34px!important;
}
.quick-gift-detail-copy h2,
.calendar-pop-copy h2,
.ranking-detail-copy h2{
  word-break:keep-all;
  overflow-wrap:anywhere;
}
.quick-gift-detail-copy dl,
.calendar-pop-copy dl,
.ranking-detail-copy dl{
  display:grid;
  gap:12px;
  margin-top:22px;
}
.quick-gift-detail-copy dl div,
.calendar-pop-copy dl div,
.ranking-detail-copy dl div{
  min-width:0;
}
.quick-gift-detail-copy dd,
.calendar-pop-copy dd,
.ranking-detail-copy dd{
  word-break:break-word;
  overflow-wrap:anywhere;
  line-height:1.75;
}

/* new static pages */
.sub-page{
  background:#fff;
  color:#17130f;
}
.sub-page .site-header{
  position:sticky;
}
.sub-page-main{
  padding:120px 24px 80px;
}
.sub-hero,
.sub-content{
  max-width:1120px;
  margin:0 auto;
}
.sub-hero{
  padding:70px 0 48px;
  border-bottom:1px solid rgba(0,0,0,.10);
}
.sub-hero p.eyebrow{
  margin-bottom:16px;
}
.sub-hero h1{
  font-family:'Playfair Display', Georgia, serif;
  font-size:clamp(48px,7vw,108px);
  line-height:.98;
  letter-spacing:-.05em;
  margin:0;
}
.sub-hero .lead{
  max-width:720px;
  margin-top:24px;
  color:#665f58;
  line-height:1.9;
}
.sub-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:22px;
  margin-top:36px;
}
.sub-card{
  display:block;
  color:inherit;
  text-decoration:none;
  background:#fff;
  border:1px solid rgba(0,0,0,.10);
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 18px 48px rgba(0,0,0,.06);
}
.sub-card img{
  width:100%;
  height:210px;
  object-fit:cover;
  display:block;
}
.sub-card-body{
  padding:22px;
}
.sub-card-body span{
  color:#8b5e3c;
  font-size:12px;
  letter-spacing:.12em;
}
.sub-card-body h2,
.sub-card-body h3{
  margin:10px 0 10px;
  line-height:1.35;
}
.sub-card-body p{
  color:#665f58;
  line-height:1.75;
}
.sub-section{
  max-width:1120px;
  margin:64px auto 0;
}
.sub-section h2{
  font-size:clamp(28px,4vw,52px);
  line-height:1.1;
}
.sub-list{
  display:grid;
  gap:18px;
  margin-top:22px;
}
.sub-list a,
.sub-list article{
  display:block;
  padding:24px;
  border:1px solid rgba(0,0,0,.10);
  border-radius:20px;
  background:#fff;
  color:inherit;
  text-decoration:none;
}
.contact-form{
  display:grid;
  gap:16px;
  max-width:760px;
  margin-top:30px;
}
.contact-form label{
  display:grid;
  gap:8px;
}
.contact-form input,
.contact-form textarea{
  border:1px solid rgba(0,0,0,.18);
  border-radius:14px;
  padding:14px 16px;
  font:inherit;
}
.contact-form textarea{
  min-height:180px;
}
.policy-block{
  display:grid;
  gap:28px;
  line-height:1.9;
  color:#4e4944;
}

/* Footer simplified */
.footer-site-map{
  grid-template-columns:repeat(3,minmax(0,1fr));
}

@media(max-width:900px){
  .global-nav{
    display:none!important;
  }
  .mobile-drawer-inner a{
    font-size:15px;
    line-height:1.5;
    padding:14px 0;
  }
  .axis-search-form{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .archive-head{
    gap:14px;
    align-items:flex-end;
  }
  .archive-head .archive-more-button{
    padding:9px 14px;
    font-size:12px;
    white-space:nowrap;
  }
  .archive-rail.is-collapsed .archive-jacket:nth-child(n+3){
    display:none!important;
  }
  .archive-rail.is-expanded{
    display:flex!important;
    gap:14px!important;
  }
  .archive-rail.is-expanded .archive-jacket{
    min-width:78vw!important;
  }
  .calendar-grid{
    gap:8px!important;
  }
  .weekday span{
    font-size:12px!important;
  }
  .day-cell button{
    padding:10px 8px!important;
  }
  .day-num{
    font-size:16px!important;
  }
  .day-event{
    display:block!important;
    font-size:11px!important;
    line-height:1.35!important;
    margin-top:6px!important;
    max-height:2.8em;
    overflow:hidden;
  }
  .calendar-popup-gifts{
    grid-template-columns:1fr;
  }
  .quick-gift-detail,
  .calendar-pop-detail,
  .ranking-detail{
    grid-template-columns:1fr;
    max-height:86vh;
    overflow:auto;
  }
  .quick-gift-detail-media,
  .calendar-pop-media,
  .ranking-detail-image{
    height:220px;
  }
  .quick-gift-detail-copy,
  .calendar-pop-copy,
  .ranking-detail-copy{
    padding:24px 18px!important;
    overflow:visible;
  }
  .quick-gift-detail-copy h2,
  .calendar-pop-copy h2,
  .ranking-detail-copy h2{
    font-size:26px!important;
    line-height:1.25!important;
  }
  .modal-box{
    width:calc(100vw - 22px)!important;
    max-height:88vh!important;
    overflow:auto!important;
  }
  .sub-page-main{
    padding:92px 16px 56px;
  }
  .sub-hero{
    padding:46px 0 34px;
  }
  .sub-hero h1{
    font-size:42px;
    line-height:1.05;
  }
  .sub-grid{
    grid-template-columns:1fr;
    gap:16px;
  }
  .sub-card img{
    height:190px;
  }
  .footer-site-map{
    grid-template-columns:1fr!important;
  }
}


/* =========================================================
   ROUND 2 FIXES : header/menu, calendar, modal readability, SP
   ========================================================= */

/* Header: hover panels removed */
.global-nav-simple{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:18px!important;
  min-width:0!important;
}
.global-nav-simple .nav-trigger{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  white-space:nowrap!important;
  word-break:keep-all!important;
  line-height:1!important;
  min-height:38px!important;
  padding:0 2px!important;
  letter-spacing:.04em!important;
}
.global-nav-simple button.nav-trigger{
  border:0!important;
  background:transparent!important;
  cursor:pointer!important;
  font:inherit!important;
}
.site-header .mega-panel,
.site-header .mega-inner,
.site-header .mega-links,
.site-header .mega-note{
  display:none!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
.nav-item:hover .mega-panel,
.nav-item.is-open .mega-panel{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  transform:none!important;
}
.mobile-drawer-inner{
  gap:0!important;
}
.mobile-drawer-inner a{
  white-space:normal!important;
  word-break:keep-all!important;
  overflow-wrap:anywhere!important;
}

/* Search center */
.search-axis-panel{
  text-align:center!important;
}
.search-axis-panel .panel-sub,
.search-axis-panel .axis-search-note{
  margin-left:auto!important;
  margin-right:auto!important;
}
.axis-search-form{
  max-width:1040px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  justify-content:center!important;
  align-items:end!important;
}
.axis-search-form .axis-select{
  text-align:left!important;
}
.axis-search-submit,
.axis-search-form .axis-search-submit{
  justify-self:center!important;
  align-self:end!important;
}

/* Interview archive expand */
.archive-head{
  align-items:center!important;
}
.archive-more-button{
  white-space:nowrap!important;
}
.archive-rail.is-collapsed .archive-extra{
  display:none!important;
}
.archive-rail.is-expanded{
  overflow-x:auto!important;
  -webkit-overflow-scrolling:touch!important;
  scroll-snap-type:x mandatory!important;
  padding-bottom:16px!important;
}
.archive-rail.is-expanded .archive-jacket{
  scroll-snap-align:start!important;
}

/* Calendar: month only, readable event names inside each day */
.calendar-board{
  overflow:visible!important;
}
.calendar-head{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  grid-template-areas:
    "prev title next"
    "tabs tabs tabs"!important;
  gap:14px!important;
  align-items:center!important;
}
.calendar-head .month-nav:first-child{grid-area:prev!important;}
.calendar-head h3{
  grid-area:title!important;
  text-align:center!important;
  margin:0!important;
  white-space:nowrap!important;
}
.calendar-head .month-nav:last-of-type{grid-area:next!important;}
.month-tabs{
  grid-area:tabs!important;
  justify-content:center!important;
  flex-wrap:wrap!important;
}
.calendar-week-tabs,
.calendar-view-switch,
.calendar-detail{
  display:none!important;
}
.calendar-scale-wrap{
  margin-top:22px!important;
}
.calendar-scale-wrap.is-month-view .weekday,
.weekday{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  gap:8px!important;
  margin-bottom:8px!important;
}
.weekday span{
  text-align:center!important;
  font-size:12px!important;
  letter-spacing:.12em!important;
  color:var(--lux-sub,#665f58)!important;
}
.calendar-scale-wrap.is-month-view .calendar-grid,
.calendar-grid{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  gap:8px!important;
}
.calendar-scale-wrap.is-month-view .day-cell,
.calendar-grid .day-cell{
  min-height:106px!important;
  border-radius:16px!important;
  overflow:hidden!important;
}
.calendar-grid .day-cell button{
  width:100%!important;
  height:100%!important;
  min-height:106px!important;
  padding:12px 10px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  gap:8px!important;
  background:transparent!important;
  border:0!important;
  color:inherit!important;
  cursor:pointer!important;
  text-align:left!important;
}
.calendar-grid .day-num{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  border-radius:50%!important;
  font-size:14px!important;
  line-height:1!important;
}
.calendar-grid .day-event{
  display:block!important;
  font-size:12px!important;
  line-height:1.45!important;
  color:inherit!important;
  overflow:hidden!important;
  display:-webkit-box!important;
  -webkit-line-clamp:3!important;
  -webkit-box-orient:vertical!important;
}
.calendar-grid .day-cell.random-event .day-event{
  opacity:.74!important;
}
.calendar-grid .day-cell.muted{
  min-height:106px!important;
}

/* Calendar popup */
.calendar-event-detail{
  display:block!important;
}
.calendar-event-copy{
  width:100%!important;
  max-height:none!important;
  overflow:visible!important;
}
.calendar-popup-gifts{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
}
.calendar-popup-gift{
  background:#fff!important;
  border:1px solid rgba(0,0,0,.12)!important;
  border-radius:18px!important;
  overflow:hidden!important;
  cursor:pointer!important;
}
.calendar-popup-gift img{
  width:100%!important;
  height:132px!important;
  object-fit:cover!important;
  display:block!important;
}
.calendar-popup-gift div{
  padding:14px!important;
}
.calendar-popup-gift strong,
.calendar-popup-gift span,
.calendar-popup-gift small{
  display:block!important;
  line-height:1.45!important;
}
.calendar-popup-gift strong{
  font-size:14px!important;
  color:#17130f!important;
}
.calendar-popup-gift span{
  margin-top:6px!important;
}
.calendar-popup-gift small{
  margin-top:6px!important;
  color:#665f58!important;
}

/* 記念日モーダル：紐付いたギフトのセクション（見出し+一覧）を囲む枠 */
.calendar-popup-section{
  margin-top:24px!important;
}
.calendar-popup-section-title{
  margin:0 0 12px!important;
}

/* Modal: no horizontal scroll, text not cut */
.modal-box,
.quick-gift-modal-box,
.ranking-modal-box{
  width:min(1040px,calc(100vw - 36px))!important;
  max-height:min(88vh,820px)!important;
  overflow:auto!important;
}
.quick-gift-detail,
.calendar-pop-detail,
.ranking-detail{
  width:100%!important;
  max-width:100%!important;
  display:grid!important;
  grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr)!important;
  overflow:visible!important;
  max-height:none!important;
}
.quick-gift-detail-media,
.calendar-pop-media,
.ranking-detail-image{
  min-width:0!important;
  min-height:420px!important;
}
.quick-gift-detail-media img,
.calendar-pop-media img,
.ranking-detail-image img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.quick-gift-detail-copy,
.calendar-pop-copy,
.ranking-detail-copy{
  min-width:0!important;
  overflow:visible!important;
  padding:38px!important;
}
.quick-gift-detail-copy h2,
.calendar-pop-copy h2,
.ranking-detail-copy h2{
  white-space:normal!important;
  word-break:keep-all!important;
  overflow-wrap:anywhere!important;
  line-height:1.2!important;
}
.quick-gift-detail-copy p,
.calendar-pop-copy p,
.ranking-detail-copy p,
.quick-gift-detail-copy dd,
.calendar-pop-copy dd,
.ranking-detail-copy dd{
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:anywhere!important;
  line-height:1.8!important;
}
.quick-gift-detail-copy dl,
.calendar-pop-copy dl,
.ranking-detail-copy dl{
  display:grid!important;
  gap:12px!important;
  width:100%!important;
}

/* Editor picks tabs visibility */
.gift-category-tabs{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:10px!important;
}
.gift-category-tabs button{
  white-space:nowrap!important;
}

/* Article jackets: text overlay on images */
.article-issue-strip .article-jacket{
  position:relative!important;
  display:block!important;
  min-height:210px!important;
  overflow:hidden!important;
  color:#fff!important;
  text-decoration:none!important;
  border:0!important;
  padding:0!important;
  background:#111!important;
}
.article-issue-strip .article-jacket img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  z-index:0!important;
}
.article-issue-strip .article-jacket::after{
  content:''!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:linear-gradient(180deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.72) 100%)!important;
}
.article-issue-strip .article-jacket em,
.article-issue-strip .article-jacket span,
.article-issue-strip .article-jacket strong,
.article-issue-strip .article-jacket small{
  position:relative!important;
  z-index:2!important;
  display:block!important;
}
.article-issue-strip .article-jacket em{
  position:absolute!important;
  top:16px!important;
  left:16px!important;
  font-family:'Playfair Display',Georgia,serif!important;
  font-size:38px!important;
  line-height:1!important;
  color:#fff!important;
}
.article-issue-strip .article-jacket span{
  position:absolute!important;
  left:18px!important;
  right:18px!important;
  bottom:76px!important;
  font-size:11px!important;
  letter-spacing:.14em!important;
  color:rgba(255,255,255,.78)!important;
}
.article-issue-strip .article-jacket strong{
  position:absolute!important;
  left:18px!important;
  right:18px!important;
  bottom:34px!important;
  color:#fff!important;
  font-size:15px!important;
  line-height:1.45!important;
  max-height:3em!important;
  overflow:hidden!important;
}
.article-issue-strip .article-jacket small{
  position:absolute!important;
  left:18px!important;
  bottom:14px!important;
  color:rgba(255,255,255,.72)!important;
}

/* Sub pages: reduce hero typography, cleaner visual */
.sub-page-main{
  padding-top:96px!important;
}
.sub-hero{
  padding:48px 0 34px!important;
}
.sub-hero h1{
  font-size:clamp(34px,5vw,64px)!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
}
.sub-hero .lead{
  font-size:15px!important;
  line-height:1.85!important;
}
.sub-card{
  border-radius:20px!important;
}
.sub-card img{
  height:190px!important;
}
.sub-section{
  margin-top:48px!important;
}
.sub-section h2{
  font-size:clamp(26px,3.6vw,44px)!important;
  line-height:1.18!important;
}

/* Article detail pages: align layout with media page feel */
.article-page-body{
  background:#fff!important;
  color:#17130f!important;
}
.article-page{
  background:#fff!important;
}
.article-page-header{
  position:sticky!important;
  top:0!important;
  z-index:30!important;
  background:rgba(255,255,255,.94)!important;
  backdrop-filter:blur(12px)!important;
  border-bottom:1px solid rgba(0,0,0,.10)!important;
  padding:18px 28px!important;
}
.article-page-header p{
  white-space:normal!important;
  word-break:keep-all!important;
}
.article-hero{
  max-width:1180px!important;
  margin:0 auto!important;
  padding:82px 24px 54px!important;
  display:grid!important;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;
  gap:34px!important;
  align-items:center!important;
}
.article-hero-copy h1{
  font-size:clamp(34px,5vw,68px)!important;
  line-height:1.08!important;
  letter-spacing:-.035em!important;
}
.article-hero-image{
  border-radius:28px!important;
  overflow:hidden!important;
  box-shadow:0 22px 60px rgba(0,0,0,.10)!important;
}
.article-hero-image img{
  width:100%!important;
  height:520px!important;
  object-fit:cover!important;
}
.article-editor-note,
.article-gift-curation,
.article-content{
  max-width:1120px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.article-product-feature{
  grid-template-columns:minmax(260px,.8fr) minmax(0,1.2fr)!important;
  overflow:hidden!important;
}
.article-product-image img{
  width:100%!important;
  height:100%!important;
  min-height:340px!important;
  object-fit:cover!important;
}

/* SP */
@media(max-width:900px){
  .site-header{
    min-height:64px!important;
  }
  .global-nav-simple{
    display:none!important;
  }
  .mobile-menu-button{
    display:inline-flex!important;
  }
  .search-axis-panel{
    padding-left:16px!important;
    padding-right:16px!important;
  }
  .axis-search-form{
    width:100%!important;
    max-width:520px!important;
    grid-template-columns:1fr!important;
  }
  .axis-search-submit{
    width:100%!important;
  }
  .calendar-head{
    grid-template-columns:40px minmax(0,1fr) 40px!important;
    gap:8px!important;
  }
  .calendar-head h3{
    font-size:20px!important;
  }
  .month-tabs{
    gap:8px!important;
  }
  .month-tabs button{
    flex:1 1 auto!important;
    min-width:72px!important;
  }
  .calendar-scale-wrap.is-month-view .weekday,
  .weekday{
    gap:4px!important;
  }
  .calendar-scale-wrap.is-month-view .calendar-grid,
  .calendar-grid{
    gap:4px!important;
  }
  .calendar-scale-wrap.is-month-view .day-cell,
  .calendar-grid .day-cell,
  .calendar-grid .day-cell.muted{
    min-height:74px!important;
    border-radius:10px!important;
  }
  .calendar-grid .day-cell button{
    min-height:74px!important;
    padding:7px 4px!important;
    gap:4px!important;
    text-align:center!important;
    align-items:center!important;
  }
  .calendar-grid .day-num{
    width:24px!important;
    height:24px!important;
    min-width:24px!important;
    font-size:12px!important;
  }
  .calendar-grid .day-event{
    font-size:9.5px!important;
    line-height:1.25!important;
    -webkit-line-clamp:2!important;
  }
  .weekday span{
    font-size:10px!important;
  }
  .calendar-popup-gifts{
    grid-template-columns:1fr!important;
  }
  .quick-gift-detail,
  .calendar-pop-detail,
  .ranking-detail{
    grid-template-columns:1fr!important;
  }
  .quick-gift-detail-media,
  .calendar-pop-media,
  .ranking-detail-image{
    height:230px!important;
    min-height:230px!important;
  }
  .quick-gift-detail-copy,
  .calendar-pop-copy,
  .ranking-detail-copy{
    padding:24px 18px!important;
  }
  .modal-box,
  .quick-gift-modal-box,
  .ranking-modal-box{
    width:calc(100vw - 20px)!important;
    max-height:88vh!important;
    border-radius:20px!important;
  }
  .article-issue-strip .article-jacket{
    min-height:190px!important;
  }
  .article-issue-strip .article-jacket em{
    font-size:32px!important;
  }
  .sub-page-main{
    padding-top:82px!important;
  }
  .sub-hero h1{
    font-size:34px!important;
  }
  .sub-card img{
    height:176px!important;
  }
  .article-hero{
    grid-template-columns:1fr!important;
    padding:54px 16px 34px!important;
    gap:22px!important;
  }
  .article-hero-copy h1{
    font-size:34px!important;
  }
  .article-hero-image img{
    height:260px!important;
  }
  .article-product-feature{
    grid-template-columns:1fr!important;
  }
  .article-product-image img{
    min-height:230px!important;
    height:230px!important;
  }
}


/* =========================================================
   ROUND 3 FIXES : calendar product visibility / article index / header menu
   ========================================================= */

/* Header search sizing/color */
.global-nav-simple{
  gap:16px!important;
}
.global-nav-simple .nav-trigger,
.global-nav-simple button.nav-trigger{
  min-height:38px!important;
  height:38px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 10px!important;
  line-height:1!important;
  font-size:13px!important;
  letter-spacing:.05em!important;
  box-sizing:border-box!important;
  white-space:nowrap!important;
}
.header-search-trigger{
  min-width:68px!important;
  padding:0 16px!important;
  border-radius:999px!important;
  background:#17130f!important;
  color:#fffaf2!important;
  border:1px solid rgba(184,137,58,.45)!important;
  box-shadow:0 10px 24px rgba(23,19,15,.10)!important;
}
.header-menu-trigger{
  min-width:84px!important;
  padding:0 16px!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#8b5e3c!important;
  border:1px solid rgba(139,94,60,.28)!important;
}

/* Header menu mega: only click-open menu appears */
.nav-menu-item{
  position:relative!important;
}
.footer-menu-panel{
  position:absolute!important;
  top:calc(100% + 18px)!important;
  right:0!important;
  width:min(760px,calc(100vw - 48px))!important;
  background:#111!important;
  color:#fffaf2!important;
  border:1px solid rgba(184,137,58,.45)!important;
  border-radius:26px!important;
  box-shadow:0 30px 90px rgba(0,0,0,.24)!important;
  opacity:0!important;
  visibility:hidden!important;
  transform:translateY(10px)!important;
  pointer-events:none!important;
  transition:.24s ease!important;
  z-index:100!important;
  overflow:hidden!important;
}
.nav-menu-item.is-open .footer-menu-panel{
  opacity:1!important;
  visibility:visible!important;
  transform:translateY(0)!important;
  pointer-events:auto!important;
}
.footer-menu-inner{
  display:grid!important;
  grid-template-columns:.9fr 1.25fr!important;
  gap:28px!important;
  padding:30px!important;
  background:
    radial-gradient(circle at 0% 0%,rgba(184,137,58,.22),transparent 36%),
    linear-gradient(145deg,#111 0%,#211813 100%)!important;
}
.footer-menu-lead h2{
  margin:8px 0 10px!important;
  color:#fffaf2!important;
  font-size:32px!important;
  line-height:1!important;
  letter-spacing:-.04em!important;
}
.footer-menu-lead p:not(.mega-kicker){
  color:rgba(255,250,242,.70)!important;
  line-height:1.8!important;
  font-size:13px!important;
}
.footer-menu-cols{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
}
.footer-menu-cols h3{
  color:#d6b36a!important;
  font-size:12px!important;
  letter-spacing:.12em!important;
  margin:0 0 12px!important;
}
.footer-menu-cols a{
  display:block!important;
  color:#fffaf2!important;
  text-decoration:none!important;
  font-size:13px!important;
  line-height:1.6!important;
  padding:7px 0!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
}

/* Newsletter removed safety */
.newsletter{
  display:none!important;
}

/* Calendar popup: 2 products, horizontal scroll, visible cards */
.calendar-event-large{
  display:block!important;
}
.calendar-event-large .calendar-event-copy{
  padding:38px!important;
}
.calendar-popup-gifts-scroll{
  display:flex!important;
  gap:18px!important;
  overflow-x:auto!important;
  -webkit-overflow-scrolling:touch!important;
  scroll-snap-type:x mandatory!important;
  padding:4px 4px 18px!important;
  margin-top:24px!important;
}
.calendar-popup-gift-large{
  flex:0 0 min(430px,78vw)!important;
  scroll-snap-align:start!important;
  display:grid!important;
  grid-template-rows:220px 1fr!important;
  background:#fff!important;
  border:1px solid rgba(184,137,58,.32)!important;
  border-radius:24px!important;
  overflow:hidden!important;
  box-shadow:0 18px 48px rgba(32,22,14,.10)!important;
}
.calendar-popup-gift-large img{
  width:100%!important;
  height:220px!important;
  object-fit:cover!important;
  display:block!important;
}
.calendar-popup-gift-large div{
  padding:20px!important;
}
.calendar-popup-gift-large span{
  display:block!important;
  color:#8b5e3c!important;
  font-size:11px!important;
  letter-spacing:.08em!important;
  line-height:1.5!important;
  margin-bottom:8px!important;
}
.calendar-popup-gift-large h3{
  color:#17130f!important;
  font-size:22px!important;
  line-height:1.25!important;
  margin:0 0 8px!important;
}
.calendar-popup-gift-large strong{
  display:block!important;
  color:#17130f!important;
  margin-bottom:10px!important;
}
.calendar-popup-gift-large p{
  color:#665f58!important;
  font-size:13px!important;
  line-height:1.75!important;
  margin:0 0 12px!important;
}
.calendar-popup-gift-large small{
  display:inline-flex!important;
  color:#8b5e3c!important;
  border-bottom:1px solid currentColor!important;
}

/* Calendar grid tightening */
.calendar-board{
  max-width:1120px!important;
}
.calendar-grid .day-cell{
  background:#fff!important;
}
.calendar-grid .day-cell.has-event{
  border-color:rgba(139,94,60,.25)!important;
}
.calendar-grid .day-event{
  font-weight:500!important;
}

/* Article more button stronger */
.article-more-wrap{
  margin-top:34px!important;
}
.article-more-link{
  min-width:240px!important;
  min-height:52px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#111 0%,#6d4429 100%)!important;
  color:#fffaf2!important;
  border:1px solid rgba(184,137,58,.45)!important;
  box-shadow:0 16px 38px rgba(23,19,15,.16)!important;
  text-decoration:none!important;
  font-weight:600!important;
}

/* Article index page refresh */
.article-index-page .page{
  background:
    radial-gradient(circle at 12% 0%,rgba(184,137,58,.16),transparent 26%),
    linear-gradient(180deg,#fff 0%,#f7f6f2 100%)!important;
}
.article-index-main{
  padding:104px 24px 88px!important;
}
.article-index-hero{
  max-width:1240px!important;
  margin:0 auto!important;
  min-height:620px!important;
  display:grid!important;
  grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr)!important;
  gap:32px!important;
  align-items:stretch!important;
}
.article-index-hero-copy{
  padding:54px 0!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
.article-index-hero-copy h1{
  margin:0!important;
  color:#17130f!important;
  font-family:'Playfair Display',Georgia,serif!important;
  font-size:clamp(54px,7vw,116px)!important;
  line-height:.96!important;
  letter-spacing:-.06em!important;
}
.article-index-hero-copy p:not(.eyebrow){
  max-width:560px!important;
  color:#665f58!important;
  line-height:1.95!important;
  margin:24px 0 0!important;
}
.article-index-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:12px!important;
  margin-top:30px!important;
}
.article-index-actions a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:46px!important;
  padding:0 22px!important;
  border-radius:999px!important;
  text-decoration:none!important;
  background:#17130f!important;
  color:#fffaf2!important;
  border:1px solid rgba(184,137,58,.45)!important;
}
.article-index-actions a + a{
  background:#fff!important;
  color:#17130f!important;
}
.article-index-feature{
  position:relative!important;
  display:block!important;
  min-height:620px!important;
  overflow:hidden!important;
  border-radius:36px!important;
  color:#fff!important;
  text-decoration:none!important;
  box-shadow:0 28px 80px rgba(23,19,15,.18)!important;
}
.article-index-feature img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.article-index-feature::after{
  content:''!important;
  position:absolute!important;
  inset:0!important;
  background:
    radial-gradient(circle at 20% 78%,rgba(184,137,58,.32),transparent 28%),
    linear-gradient(180deg,rgba(0,0,0,.04) 0%,rgba(0,0,0,.72) 100%)!important;
}
.article-index-feature div{
  position:absolute!important;
  z-index:1!important;
  left:34px!important;
  right:34px!important;
  bottom:34px!important;
}
.article-index-feature span,
.article-index-card span,
.article-feature-grid span{
  color:#d6b36a!important;
  font-size:12px!important;
  letter-spacing:.12em!important;
}
.article-index-feature h2{
  color:#fffaf2!important;
  font-size:clamp(28px,4vw,52px)!important;
  line-height:1.08!important;
  margin:12px 0!important;
  letter-spacing:-.04em!important;
}
.article-index-feature p{
  color:rgba(255,250,242,.82)!important;
  line-height:1.8!important;
}
.article-index-section{
  max-width:1240px!important;
  margin:88px auto 0!important;
}
.article-index-section-head{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:20px!important;
  margin-bottom:26px!important;
}
.article-index-section-head h2{
  margin:0!important;
  color:#17130f!important;
  font-size:clamp(36px,5vw,72px)!important;
  line-height:1!important;
  letter-spacing:-.05em!important;
}
.article-index-grid{
  display:grid!important;
  grid-template-columns:1.2fr .8fr .8fr!important;
  grid-auto-rows:300px!important;
  gap:18px!important;
}
.article-index-card{
  position:relative!important;
  overflow:hidden!important;
  border-radius:28px!important;
  color:#fff!important;
  text-decoration:none!important;
  background:#111!important;
  box-shadow:0 20px 60px rgba(23,19,15,.12)!important;
}
.article-index-card.large{
  grid-row:span 2!important;
}
.article-index-card img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  transition:transform .45s ease!important;
}
.article-index-card:hover img{
  transform:scale(1.04)!important;
}
.article-index-card::after{
  content:''!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.72))!important;
}
.article-index-card div{
  position:absolute!important;
  z-index:1!important;
  left:24px!important;
  right:24px!important;
  bottom:24px!important;
}
.article-index-card h3{
  color:#fff!important;
  font-size:24px!important;
  line-height:1.25!important;
  margin:9px 0 0!important;
}
.article-index-card p{
  color:rgba(255,255,255,.82)!important;
  line-height:1.7!important;
}
.article-feature-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
}
.article-feature-grid a{
  display:flex!important;
  flex-direction:column!important;
  justify-content:space-between!important;
  min-height:190px!important;
  padding:24px!important;
  border-radius:26px!important;
  background:#111!important;
  color:#fffaf2!important;
  text-decoration:none!important;
  border:1px solid rgba(184,137,58,.38)!important;
  box-shadow:0 20px 56px rgba(23,19,15,.12)!important;
}
.article-feature-grid strong{
  color:#fffaf2!important;
  font-size:24px!important;
  line-height:1.25!important;
}
.article-feature-grid small{
  color:rgba(255,250,242,.70)!important;
  line-height:1.6!important;
}

/* Top article card overlay fine tune */
.article-issue-strip .article-jacket{
  box-shadow:0 18px 50px rgba(23,19,15,.12)!important;
}
.article-issue-strip .article-jacket em{
  text-shadow:0 10px 22px rgba(0,0,0,.24)!important;
}

/* SP */
@media(max-width:900px){
  .global-nav-simple{
    display:none!important;
  }
  .footer-menu-panel{
    display:none!important;
  }
  .article-index-main{
    padding:88px 16px 64px!important;
  }
  .article-index-hero{
    grid-template-columns:1fr!important;
    min-height:0!important;
    gap:22px!important;
  }
  .article-index-hero-copy{
    padding:30px 0 0!important;
  }
  .article-index-hero-copy h1{
    font-size:44px!important;
    line-height:1.02!important;
  }
  .article-index-feature{
    min-height:420px!important;
    border-radius:28px!important;
  }
  .article-index-feature div{
    left:22px!important;
    right:22px!important;
    bottom:22px!important;
  }
  .article-index-feature h2{
    font-size:30px!important;
  }
  .article-index-grid{
    grid-template-columns:1fr!important;
    grid-auto-rows:260px!important;
  }
  .article-index-card.large{
    grid-row:auto!important;
  }
  .article-feature-grid{
    grid-template-columns:1fr!important;
  }
  .calendar-event-large .calendar-event-copy{
    padding:24px 18px!important;
  }
  .calendar-popup-gifts-scroll{
    gap:14px!important;
    margin-left:-2px!important;
    margin-right:-2px!important;
  }
  .calendar-popup-gift-large{
    flex-basis:82vw!important;
    grid-template-rows:180px 1fr!important;
    border-radius:20px!important;
  }
  .calendar-popup-gift-large img{
    height:180px!important;
  }
  .calendar-popup-gift-large h3{
    font-size:20px!important;
  }
  .article-more-link{
    width:100%!important;
  }
}


/* =========================================================
   ROUND 4 : article screening / card text cleanup / search visibility
   ========================================================= */

/* Header search: make it visible and same height */
.header-search-trigger,
.global-nav-simple .header-search-trigger{
  height:40px!important;
  min-height:40px!important;
  min-width:76px!important;
  padding:0 18px!important;
  border-radius:999px!important;
  background:#d6b36a!important;
  color:#17130f!important;
  border:1px solid rgba(23,19,15,.18)!important;
  font-weight:700!important;
  box-shadow:0 12px 28px rgba(184,137,58,.24)!important;
}
.header-menu-trigger,
.global-nav-simple .header-menu-trigger{
  height:40px!important;
  min-height:40px!important;
}

/* TOP article card cleanup: no noisy FEATURE / READ ISSUE / number */
.article-issue-strip .article-jacket em,
.article-issue-strip .article-jacket span,
.article-issue-strip .article-jacket small{
  display:none!important;
}
.article-issue-strip .article-jacket{
  min-height:196px!important;
  border-radius:24px!important;
}
.article-issue-strip .article-jacket strong{
  left:20px!important;
  right:20px!important;
  bottom:20px!important;
  max-height:none!important;
  display:block!important;
  color:#fff!important;
  font-size:20px!important;
  line-height:1.25!important;
  letter-spacing:-.03em!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.article-issue-strip .article-jacket::after{
  background:linear-gradient(180deg,rgba(0,0,0,.04) 0%,rgba(0,0,0,.58) 100%)!important;
}
.article-reader-copy h3{
  line-height:1.18!important;
  letter-spacing:-.035em!important;
}
.article-reader-copy p{
  line-height:1.8!important;
}
.article-more-link{
  background:linear-gradient(135deg,#d6b36a 0%,#8b5e3c 55%,#17130f 100%)!important;
  color:#fff!important;
  border:0!important;
  font-size:15px!important;
  letter-spacing:.04em!important;
}

/* Calendar modal: two product cards are clear and not broken */
.calendar-event-large .calendar-event-copy > h2{
  font-size:clamp(30px,4.2vw,52px)!important;
  line-height:1.12!important;
  margin-bottom:14px!important;
}
.calendar-event-large .calendar-event-copy > p{
  max-width:760px!important;
  line-height:1.9!important;
}
.calendar-popup-gifts-scroll{
  display:flex!important;
  grid-template-columns:none!important;
  gap:20px!important;
  overflow-x:auto!important;
  padding:8px 4px 22px!important;
}
.calendar-popup-gift-large{
  flex:0 0 440px!important;
  width:440px!important;
  max-width:82vw!important;
  display:grid!important;
  grid-template-rows:240px auto!important;
}
.calendar-popup-gift-large img{
  height:240px!important;
}
.calendar-popup-gift-large div{
  min-width:0!important;
}
.calendar-popup-gift-large h3,
.calendar-popup-gift-large p{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}

/* Article list page — refreshed editorial format */
.article-index-refresh .page{
  background:
    radial-gradient(circle at 8% 0%,rgba(214,179,106,.18),transparent 28%),
    radial-gradient(circle at 100% 18%,rgba(23,19,15,.06),transparent 24%),
    linear-gradient(180deg,#fff 0%,#f7f6f2 100%)!important;
}
.article-index-main.refresh{
  padding:110px 24px 86px!important;
}
.journal-hero{
  max-width:1240px!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr)!important;
  gap:34px!important;
  align-items:stretch!important;
}
.journal-hero-copy{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding:44px 0!important;
}
.journal-hero-copy h1{
  margin:0!important;
  color:#17130f!important;
  font-family:'Playfair Display',Georgia,serif!important;
  font-size:clamp(52px,7vw,108px)!important;
  line-height:.98!important;
  letter-spacing:-.06em!important;
}
.journal-hero-copy p:not(.eyebrow){
  max-width:560px!important;
  margin:24px 0 0!important;
  color:#665f58!important;
  line-height:1.95!important;
}
.journal-hero-card{
  position:relative!important;
  min-height:590px!important;
  display:block!important;
  color:#fff!important;
  text-decoration:none!important;
  border-radius:36px!important;
  overflow:hidden!important;
  box-shadow:0 30px 90px rgba(23,19,15,.18)!important;
}
.journal-hero-card img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  transition:transform .5s ease!important;
}
.journal-hero-card:hover img{
  transform:scale(1.04)!important;
}
.journal-hero-card::after{
  content:''!important;
  position:absolute!important;
  inset:0!important;
  background:
    radial-gradient(circle at 20% 78%,rgba(214,179,106,.30),transparent 30%),
    linear-gradient(180deg,rgba(0,0,0,.04) 0%,rgba(0,0,0,.72) 100%)!important;
}
.journal-hero-card div{
  position:absolute!important;
  z-index:1!important;
  left:34px!important;
  right:34px!important;
  bottom:34px!important;
}
.journal-hero-card h2{
  color:#fff!important;
  font-size:clamp(42px,5vw,74px)!important;
  line-height:1!important;
  letter-spacing:-.055em!important;
  margin:0 0 14px!important;
  white-space:nowrap!important;
}
.journal-hero-card p{
  max-width:540px!important;
  color:rgba(255,255,255,.86)!important;
  line-height:1.8!important;
  margin:0 0 16px!important;
}
.journal-hero-card span{
  display:inline-flex!important;
  color:#fff!important;
  border-bottom:1px solid currentColor!important;
  padding-bottom:4px!important;
}
.journal-tabs{
  max-width:1240px!important;
  margin:34px auto 0!important;
  display:flex!important;
  gap:10px!important;
  overflow-x:auto!important;
  padding-bottom:8px!important;
}
.journal-tabs a{
  flex:0 0 auto!important;
  min-height:42px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 18px!important;
  border-radius:999px!important;
  text-decoration:none!important;
  color:#17130f!important;
  background:#fff!important;
  border:1px solid rgba(139,94,60,.22)!important;
}
.journal-section{
  max-width:1240px!important;
  margin:84px auto 0!important;
}
.journal-section-head{
  display:grid!important;
  grid-template-columns:minmax(0,.8fr) minmax(280px,.45fr)!important;
  gap:24px!important;
  align-items:end!important;
  margin-bottom:28px!important;
}
.journal-section-head h2{
  margin:0!important;
  color:#17130f!important;
  font-size:clamp(38px,5.5vw,76px)!important;
  line-height:1!important;
  letter-spacing:-.055em!important;
}
.journal-section-head p:last-child{
  color:#665f58!important;
  line-height:1.8!important;
}
.journal-story-grid{
  display:grid!important;
  grid-template-columns:1.12fr .88fr .88fr!important;
  grid-auto-rows:290px!important;
  gap:18px!important;
}
.journal-story-card{
  position:relative!important;
  display:block!important;
  overflow:hidden!important;
  border-radius:30px!important;
  color:#fff!important;
  text-decoration:none!important;
  background:#111!important;
  box-shadow:0 22px 64px rgba(23,19,15,.13)!important;
}
.journal-story-card.tall{
  grid-row:span 2!important;
}
.journal-story-card.wide{
  grid-column:span 2!important;
}
.journal-story-card img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  transition:transform .48s ease!important;
}
.journal-story-card:hover img{
  transform:scale(1.045)!important;
}
.journal-story-card::after{
  content:''!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(180deg,rgba(0,0,0,.02) 0%,rgba(0,0,0,.72) 100%)!important;
}
.journal-story-card div{
  position:absolute!important;
  z-index:1!important;
  left:24px!important;
  right:24px!important;
  bottom:24px!important;
}
.journal-story-card h3{
  margin:0 0 8px!important;
  color:#fff!important;
  font-size:clamp(24px,3vw,38px)!important;
  line-height:1.1!important;
  letter-spacing:-.04em!important;
  white-space:normal!important;
}
.journal-story-card p{
  color:rgba(255,255,255,.82)!important;
  line-height:1.65!important;
  margin:0 0 12px!important;
}
.journal-story-card span{
  color:#d6b36a!important;
  border-bottom:1px solid currentColor!important;
  padding-bottom:4px!important;
}
.journal-feature-row{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:16px!important;
}
.journal-feature-row a{
  min-height:180px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  gap:10px!important;
  padding:24px!important;
  border-radius:28px!important;
  color:#fffaf2!important;
  text-decoration:none!important;
  background:
    radial-gradient(circle at 0 0,rgba(214,179,106,.22),transparent 35%),
    linear-gradient(145deg,#111 0%,#2a1f18 100%)!important;
  border:1px solid rgba(214,179,106,.34)!important;
  box-shadow:0 20px 60px rgba(23,19,15,.12)!important;
}
.journal-feature-row strong{
  font-size:24px!important;
  line-height:1.25!important;
}
.journal-feature-row small{
  color:rgba(255,250,242,.72)!important;
  line-height:1.6!important;
}

/* Article detail pages — cleaner reading layout */
.article-page-body{
  background:#fff!important;
}
.article-page-header{
  background:rgba(255,255,255,.94)!important;
  backdrop-filter:blur(14px)!important;
  border-bottom:1px solid rgba(0,0,0,.10)!important;
}
.article-page-header p{
  color:#8b5e3c!important;
  font-size:12px!important;
  letter-spacing:.12em!important;
}
.article-hero{
  max-width:1200px!important;
  padding:84px 24px 62px!important;
  gap:40px!important;
}
.article-hero-copy h1{
  font-size:clamp(38px,5vw,72px)!important;
  line-height:1.06!important;
  letter-spacing:-.05em!important;
}
.article-lead{
  font-size:17px!important;
  line-height:1.9!important;
  color:#665f58!important;
}
.article-hero-image{
  border-radius:32px!important;
}
.article-hero-image img{
  height:560px!important;
  object-fit:cover!important;
}
.article-editor-note{
  max-width:980px!important;
  padding:38px!important;
  border-radius:28px!important;
}
.article-gift-curation,
.article-content,
.article-related{
  max-width:1120px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.article-curation-head h2,
.article-related-head h2{
  color:#17130f!important;
  font-size:clamp(32px,4vw,56px)!important;
  line-height:1.1!important;
  letter-spacing:-.04em!important;
}
.article-product-feature{
  border-radius:30px!important;
  box-shadow:0 22px 60px rgba(23,19,15,.08)!important;
}
.article-content{
  display:grid!important;
  grid-template-columns:180px minmax(0,720px)!important;
  gap:54px!important;
}
.article-body p{
  font-size:16px!important;
  line-height:2.05!important;
  color:#38332e!important;
}
.article-related{
  margin-top:80px!important;
  padding:54px 0 86px!important;
  border-top:1px solid rgba(0,0,0,.10)!important;
}
.article-related-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
  margin-top:26px!important;
}
.article-related-grid a{
  position:relative!important;
  min-height:230px!important;
  border-radius:24px!important;
  overflow:hidden!important;
  display:block!important;
  color:#fff!important;
  text-decoration:none!important;
}
.article-related-grid img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.article-related-grid a::after{
  content:''!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.68))!important;
}
.article-related-grid span{
  position:absolute!important;
  z-index:1!important;
  left:20px!important;
  right:20px!important;
  bottom:20px!important;
  color:#fff!important;
  font-size:20px!important;
  line-height:1.25!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.article-back-list{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:48px!important;
  margin-top:28px!important;
  padding:0 24px!important;
  border-radius:999px!important;
  background:#17130f!important;
  color:#fffaf2!important;
  text-decoration:none!important;
}

/* SP */
@media(max-width:900px){
  .article-issue-strip .article-jacket strong{
    white-space:normal!important;
    font-size:18px!important;
    line-height:1.25!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
  }
  .calendar-popup-gift-large{
    flex-basis:82vw!important;
    width:82vw!important;
    grid-template-rows:188px auto!important;
  }
  .calendar-popup-gift-large img{
    height:188px!important;
  }
  .journal-hero{
    grid-template-columns:1fr!important;
    gap:22px!important;
  }
  .journal-hero-copy{
    padding:24px 0 0!important;
  }
  .journal-hero-copy h1{
    font-size:42px!important;
    line-height:1.04!important;
  }
  .journal-hero-card{
    min-height:430px!important;
    border-radius:28px!important;
  }
  .journal-hero-card div{
    left:22px!important;
    right:22px!important;
    bottom:22px!important;
  }
  .journal-hero-card h2{
    font-size:40px!important;
  }
  .journal-section-head{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .journal-story-grid{
    grid-template-columns:1fr!important;
    grid-auto-rows:280px!important;
  }
  .journal-story-card.tall,
  .journal-story-card.wide{
    grid-row:auto!important;
    grid-column:auto!important;
  }
  .journal-feature-row{
    grid-template-columns:1fr!important;
  }
  .article-hero{
    grid-template-columns:1fr!important;
    padding:56px 16px 36px!important;
    gap:24px!important;
  }
  .article-hero-copy h1{
    font-size:34px!important;
    line-height:1.12!important;
  }
  .article-hero-image img{
    height:280px!important;
  }
  .article-editor-note{
    padding:26px 18px!important;
    border-radius:22px!important;
  }
  .article-content{
    grid-template-columns:1fr!important;
    gap:22px!important;
    padding-left:16px!important;
    padding-right:16px!important;
  }
  .article-related{
    padding:42px 16px 64px!important;
  }
  .article-related-grid{
    grid-template-columns:1fr!important;
  }
}


/* =========================================================
   ROUND 5 : article page final / search centering
   ========================================================= */
.search-axis-panel{text-align:center!important;}
.search-axis-panel .ornament-line,.search-axis-panel .panel-sub,.search-axis-panel .axis-search-note{max-width:760px!important;margin-left:auto!important;margin-right:auto!important;}
.axis-search-form{width:min(100%,1060px)!important;margin:34px auto 0!important;display:grid!important;grid-template-columns:minmax(260px,1.45fr) repeat(3,minmax(150px,.75fr)) auto!important;gap:12px!important;justify-content:center!important;align-items:end!important;}
.axis-search-form .axis-select{min-width:0!important;}
.axis-search-submit,.axis-search-form .axis-search-submit{min-width:110px!important;height:56px!important;justify-self:center!important;}

.article-index-final .page{background:radial-gradient(circle at 10% 0%,rgba(214,179,106,.12),transparent 26%),linear-gradient(180deg,#fff 0%,#faf9f6 100%)!important;}
.article-index-final-main{padding:112px 28px 86px!important;}
.journal-final-hero{max-width:1180px!important;margin:0 auto!important;display:grid!important;grid-template-columns:minmax(0,.88fr) minmax(420px,1.12fr)!important;gap:34px!important;align-items:center!important;}
.journal-final-hero-copy{padding:20px 0!important;}
.journal-final-hero-copy .eyebrow{margin-bottom:14px!important;}
.journal-final-hero-copy h1{margin:0!important;color:#17130f!important;font-family:'Playfair Display',Georgia,serif!important;font-size:clamp(42px,4.8vw,72px)!important;line-height:1.08!important;letter-spacing:-.045em!important;}
.journal-final-hero-copy p:not(.eyebrow){margin:22px 0 0!important;max-width:560px!important;color:#665f58!important;font-size:15px!important;line-height:1.9!important;}
.journal-final-main-card{position:relative!important;display:block!important;min-height:460px!important;color:#fff!important;text-decoration:none!important;border-radius:32px!important;overflow:hidden!important;box-shadow:0 26px 72px rgba(23,19,15,.16)!important;}
.journal-final-main-card img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;}
.journal-final-main-card::after{content:''!important;position:absolute!important;inset:0!important;background:linear-gradient(180deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,.64) 100%)!important;}
.journal-final-main-card div{position:absolute!important;z-index:1!important;left:30px!important;right:30px!important;bottom:30px!important;}
.journal-final-main-card p{margin:0 0 10px!important;color:#d6b36a!important;font-size:12px!important;letter-spacing:.12em!important;}
.journal-final-main-card h2{margin:0 0 12px!important;color:#fff!important;font-size:clamp(32px,4.5vw,56px)!important;line-height:1.04!important;letter-spacing:-.045em!important;white-space:nowrap!important;}
.journal-final-main-card span{color:#fff!important;border-bottom:1px solid currentColor!important;padding-bottom:4px!important;}

.journal-final-section,.journal-final-carousel-section{max-width:1180px!important;margin:82px auto 0!important;}
.journal-final-head{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:22px!important;margin-bottom:26px!important;text-align:left!important;}
.journal-final-head > div{min-width:0!important;}
.journal-final-head h2{margin:0!important;color:#17130f!important;font-family:'Playfair Display',Georgia,serif!important;font-size:clamp(32px,4vw,56px)!important;line-height:1.05!important;letter-spacing:-.045em!important;white-space:nowrap!important;}
.journal-final-head > p{max-width:360px!important;margin:0!important;color:#665f58!important;line-height:1.75!important;font-size:14px!important;}
.journal-final-grid{display:grid!important;grid-template-columns:1.1fr .9fr .9fr!important;grid-auto-rows:270px!important;gap:18px!important;}
.journal-final-card{position:relative!important;display:block!important;overflow:hidden!important;border-radius:28px!important;color:#fff!important;text-decoration:none!important;background:#111!important;box-shadow:0 20px 60px rgba(23,19,15,.12)!important;}
.journal-final-card.is-large{grid-row:span 2!important;}
.journal-final-card.is-wide{grid-column:span 2!important;}
.journal-final-card img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;transition:transform .45s ease!important;}
.journal-final-card:hover img{transform:scale(1.04)!important;}
.journal-final-card::after{content:''!important;position:absolute!important;inset:0!important;background:linear-gradient(180deg,rgba(0,0,0,.04) 0%,rgba(0,0,0,.68) 100%)!important;}
.journal-final-card div{position:absolute!important;z-index:1!important;left:24px!important;right:24px!important;bottom:24px!important;}
.journal-final-card h3{margin:0 0 8px!important;color:#fff!important;font-size:clamp(22px,2.5vw,34px)!important;line-height:1.15!important;letter-spacing:-.035em!important;}
.journal-final-card p{margin:0 0 12px!important;color:rgba(255,255,255,.82)!important;line-height:1.65!important;font-size:14px!important;}
.journal-final-card span{color:#d6b36a!important;border-bottom:1px solid currentColor!important;padding-bottom:3px!important;}

.journal-more-button{flex:0 0 auto!important;min-height:42px!important;padding:0 18px!important;border-radius:999px!important;background:#17130f!important;color:#fffaf2!important;border:1px solid rgba(184,137,58,.38)!important;cursor:pointer!important;font:inherit!important;font-size:13px!important;}
.journal-horizontal-rail{display:flex!important;gap:18px!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;scroll-snap-type:x mandatory!important;padding:4px 2px 22px!important;}
.journal-horizontal-rail.is-compact a:nth-child(n+3){display:none!important;}
.journal-horizontal-rail.is-open a:nth-child(n+3){display:block!important;}
.journal-horizontal-rail a{flex:0 0 340px!important;position:relative!important;height:280px!important;overflow:hidden!important;border-radius:28px!important;background:#111!important;color:#fff!important;text-decoration:none!important;scroll-snap-align:start!important;box-shadow:0 18px 50px rgba(23,19,15,.12)!important;}
.journal-horizontal-rail img{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;}
.journal-horizontal-rail a::after{content:''!important;position:absolute!important;inset:0!important;background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.70))!important;}
.journal-horizontal-rail div{position:absolute!important;z-index:1!important;left:22px!important;right:22px!important;bottom:22px!important;}
.journal-horizontal-rail strong{display:block!important;color:#fff!important;font-size:24px!important;line-height:1.2!important;letter-spacing:-.035em!important;}
.journal-horizontal-rail span{display:block!important;margin-top:8px!important;color:#d6b36a!important;font-size:13px!important;}

.article-index-final .journal-hero,.article-index-final .article-index-hero,.article-index-final .article-index-section,.article-index-final .article-index-grid,.article-index-final .journal-section,.article-index-final .journal-story-grid,.article-index-final .journal-feature-row{all:unset;}
.article-page-header{padding:16px 28px!important;}
.article-hero-copy h1{font-size:clamp(34px,4.6vw,62px)!important;line-height:1.1!important;letter-spacing:-.04em!important;}
.article-hero{align-items:center!important;}
.article-body{max-width:720px!important;}
.article-body p{font-size:16px!important;line-height:2!important;}

@media(max-width:900px){
  .article-index-final-main{padding:88px 16px 64px!important;}
  .journal-final-hero{grid-template-columns:1fr!important;gap:22px!important;}
  .journal-final-hero-copy h1{font-size:36px!important;line-height:1.15!important;letter-spacing:-.035em!important;}
  .journal-final-main-card{min-height:340px!important;border-radius:24px!important;}
  .journal-final-main-card div{left:20px!important;right:20px!important;bottom:20px!important;}
  .journal-final-main-card h2{font-size:34px!important;}
  .journal-final-head{display:block!important;margin-bottom:18px!important;}
  .journal-final-head h2{font-size:34px!important;white-space:normal!important;}
  .journal-final-head > p{margin-top:10px!important;}
  .journal-more-button{margin-top:14px!important;width:100%!important;}
  .journal-final-grid{grid-template-columns:1fr!important;grid-auto-rows:250px!important;}
  .journal-final-card.is-large,.journal-final-card.is-wide{grid-row:auto!important;grid-column:auto!important;}
  .journal-final-card h3{font-size:25px!important;}
  .journal-horizontal-rail{gap:14px!important;}
  .journal-horizontal-rail a{flex-basis:82vw!important;height:250px!important;border-radius:22px!important;}
  .axis-search-form{width:100%!important;max-width:520px!important;grid-template-columns:1fr!important;margin-top:24px!important;}
}


/* ROUND 6 : Restore TOP article issue numbers only */
.article-issue-strip .article-jacket em{
  display:flex!important;
  position:absolute!important;
  z-index:3!important;
  left:18px!important;
  bottom:18px!important;
  top:auto!important;
  width:40px!important;
  height:40px!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.92)!important;
  color:#17130f!important;
  font-family:'Playfair Display',Georgia,serif!important;
  font-size:18px!important;
  line-height:1!important;
  font-style:normal!important;
  letter-spacing:-.02em!important;
  box-shadow:0 10px 24px rgba(0,0,0,.16)!important;
}
.article-issue-strip .article-jacket strong{
  left:68px!important;
  right:18px!important;
  bottom:20px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.article-issue-strip .article-jacket span,
.article-issue-strip .article-jacket small{
  display:none!important;
}

@media(max-width:900px){
  .article-issue-strip .article-jacket em{
    left:14px!important;
    bottom:14px!important;
    width:36px!important;
    height:36px!important;
    font-size:16px!important;
  }
  .article-issue-strip .article-jacket strong{
    left:58px!important;
    right:14px!important;
    bottom:15px!important;
    white-space:normal!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
  }
}


/* ROUND 7 : budget search / editor pick label removal / header anchor */
.axis-search-form{
  width:min(100%,1120px)!important;
  margin:34px auto 0!important;
  display:grid!important;
  grid-template-columns:minmax(240px,1.35fr) repeat(4,minmax(130px,.72fr)) auto!important;
  gap:12px!important;
  justify-content:center!important;
  align-items:end!important;
}
.search-axis-panel{
  text-align:center!important;
}
.search-axis-panel .ornament-line,
.search-axis-panel .panel-sub,
.search-axis-panel .axis-search-note{
  margin-left:auto!important;
  margin-right:auto!important;
}
.axis-search-form .axis-select{
  min-width:0!important;
  text-align:left!important;
}
.axis-search-submit,
.axis-search-form .axis-search-submit{
  height:56px!important;
  min-width:112px!important;
  justify-self:center!important;
}

/* 編集部が今週買ったアイテム：LETTER等のラベル非表示 */
.editor-pick-card .gift-card-overlay > span,
.editor-pick-detail .eyebrow{
  display:none!important;
}

.global-nav-simple a[href="#justnow"]{
  color:inherit!important;
}

@media(max-width:1100px){
  .axis-search-form{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    max-width:760px!important;
  }
  .axis-search-submit{
    grid-column:1 / -1!important;
    width:min(100%,360px)!important;
  }
}
@media(max-width:900px){
  .axis-search-form{
    width:100%!important;
    max-width:520px!important;
    grid-template-columns:1fr!important;
    margin-top:24px!important;
  }
  .axis-search-submit{
    grid-column:auto!important;
    width:100%!important;
  }
}


/* =========================================================
   ROUND 8 : Article detail visual renewal / interview episode page
   ========================================================= */

.article-editor-note{
  display:none!important;
}

.article-issue-summary{
  max-width:1120px!important;
  margin:0 auto 56px!important;
  padding:0 24px 42px!important;
  display:grid!important;
  grid-template-columns:220px minmax(0,1fr)!important;
  gap:38px!important;
  border-bottom:1px solid rgba(23,19,15,.12)!important;
}
.article-issue-summary-label{
  display:flex!important;
  flex-direction:column!important;
  gap:8px!important;
}
.article-issue-summary-label span{
  color:#8b5e3c!important;
  font-size:13px!important;
  letter-spacing:.14em!important;
}
.article-issue-summary-label small{
  color:#17130f!important;
  font-size:12px!important;
  letter-spacing:.10em!important;
}
.article-issue-summary-copy h2{
  margin:0 0 14px!important;
  color:#17130f!important;
  font-size:clamp(26px,3.2vw,42px)!important;
  line-height:1.18!important;
  letter-spacing:-.035em!important;
}
.article-issue-summary-copy p{
  margin:0!important;
  color:#665f58!important;
  line-height:1.95!important;
  font-size:15px!important;
}
.article-gift-curation{
  margin-top:0!important;
}
.article-curation-head{
  margin-bottom:26px!important;
}
.article-curation-head h2{
  font-size:clamp(30px,4vw,54px)!important;
}

/* Interview article */
.interview-article-page{
  background:#fff!important;
}
.interview-article-hero{
  max-width:1200px!important;
  margin:0 auto!important;
  padding:92px 24px 58px!important;
  display:grid!important;
  grid-template-columns:minmax(0,.85fr) minmax(420px,1.15fr)!important;
  gap:38px!important;
  align-items:center!important;
}
.interview-article-copy h1{
  margin:0!important;
  color:#17130f!important;
  font-family:'Playfair Display',Georgia,serif!important;
  font-size:clamp(42px,5.4vw,82px)!important;
  line-height:1.02!important;
  letter-spacing:-.055em!important;
}
.interview-article-copy .article-lead{
  margin-top:22px!important;
}
.interview-article-copy dl{
  display:grid!important;
  gap:12px!important;
  margin-top:26px!important;
}
.interview-article-copy dl div{
  display:flex!important;
  gap:14px!important;
  border-top:1px solid rgba(23,19,15,.12)!important;
  padding-top:12px!important;
}
.interview-article-copy dt{
  min-width:86px!important;
  color:#8b5e3c!important;
  font-size:12px!important;
  letter-spacing:.12em!important;
}
.interview-article-copy dd{
  margin:0!important;
  color:#17130f!important;
}
.interview-article-video{
  background:#111!important;
  border-radius:30px!important;
  overflow:hidden!important;
  box-shadow:0 26px 72px rgba(23,19,15,.18)!important;
}
.interview-article-video iframe{
  display:block!important;
  width:100%!important;
  aspect-ratio:16/9!important;
  border:0!important;
}
.interview-article-video p{
  margin:0!important;
  padding:16px 18px!important;
  color:rgba(255,255,255,.72)!important;
  font-size:12px!important;
  line-height:1.6!important;
}
.interview-article-body{
  max-width:1120px!important;
  margin:0 auto!important;
  padding:48px 24px 74px!important;
  display:grid!important;
  grid-template-columns:190px minmax(0,760px)!important;
  gap:54px!important;
}
.interview-article-body aside p{
  color:#8b5e3c!important;
  font-size:12px!important;
  letter-spacing:.12em!important;
}
.interview-article-body aside span{
  color:#17130f!important;
  font-size:13px!important;
}
.interview-article-body article h2{
  margin:0 0 18px!important;
  color:#17130f!important;
  font-size:clamp(26px,3.3vw,42px)!important;
  line-height:1.22!important;
  letter-spacing:-.035em!important;
}
.interview-article-body article h2:not(:first-child){
  margin-top:48px!important;
}
.interview-article-body article p{
  color:#38332e!important;
  font-size:16px!important;
  line-height:2.05!important;
}

/* Article list episode block */
.journal-episode-section{
  max-width:1180px!important;
  margin:76px auto 0!important;
}
.journal-episode-feature{
  display:grid!important;
  grid-template-columns:minmax(420px,1.1fr) minmax(0,.9fr)!important;
  gap:20px!important;
  align-items:stretch!important;
}
.journal-episode-main{
  position:relative!important;
  display:block!important;
  min-height:420px!important;
  color:#fff!important;
  text-decoration:none!important;
  border-radius:30px!important;
  overflow:hidden!important;
  background:#111!important;
  box-shadow:0 24px 70px rgba(23,19,15,.18)!important;
}
.journal-episode-main img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.journal-episode-main::after{
  content:''!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.72))!important;
}
.journal-episode-main div{
  position:absolute!important;
  z-index:1!important;
  left:28px!important;
  right:28px!important;
  bottom:28px!important;
}
.journal-episode-main span{
  color:#d6b36a!important;
  font-size:12px!important;
  letter-spacing:.12em!important;
}
.journal-episode-main h3{
  margin:10px 0 10px!important;
  color:#fff!important;
  font-size:clamp(28px,3.6vw,48px)!important;
  line-height:1.08!important;
  letter-spacing:-.045em!important;
}
.journal-episode-main p{
  color:rgba(255,255,255,.82)!important;
  line-height:1.7!important;
}
.episode-rail{
  align-self:stretch!important;
  flex-direction:column!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  max-height:420px!important;
  padding:0 6px 0 0!important;
}
.episode-rail a{
  flex:0 0 196px!important;
  width:100%!important;
  height:196px!important;
}
.episode-rail.is-compact a:nth-child(n+3){
  display:none!important;
}
.episode-rail.is-open a:nth-child(n+3){
  display:block!important;
}

/* SP */
@media(max-width:900px){
  .article-issue-summary{
    grid-template-columns:1fr!important;
    gap:16px!important;
    padding:0 16px 34px!important;
    margin-bottom:42px!important;
  }
  .interview-article-hero{
    grid-template-columns:1fr!important;
    padding:64px 16px 42px!important;
  }
  .interview-article-copy h1{
    font-size:38px!important;
    line-height:1.08!important;
  }
  .interview-article-video{
    border-radius:22px!important;
  }
  .interview-article-body{
    grid-template-columns:1fr!important;
    padding:36px 16px 58px!important;
    gap:22px!important;
  }
  .journal-episode-section{
    margin-top:56px!important;
  }
  .journal-episode-feature{
    grid-template-columns:1fr!important;
  }
  .journal-episode-main{
    min-height:360px!important;
  }
  .episode-rail{
    display:flex!important;
    flex-direction:row!important;
    max-height:none!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    gap:14px!important;
    padding-bottom:14px!important;
  }
  .episode-rail a{
    flex:0 0 82vw!important;
    width:82vw!important;
    height:230px!important;
  }
}


/* =========================================================
   ROUND 9 : article order + no text clipping + talent episode layout
   ========================================================= */

/* Remove unwanted issue summary title block */
.article-issue-summary,
.article-editor-note{
  display:none!important;
}

/* Article detail correct order: TOP -> description article -> gift */
.article-description-block{
  max-width:1120px!important;
  margin:0 auto 54px!important;
  padding:0 24px 48px!important;
  display:grid!important;
  grid-template-columns:190px minmax(0,760px)!important;
  gap:54px!important;
  border-bottom:1px solid rgba(23,19,15,.12)!important;
}
.article-description-label{
  position:sticky!important;
  top:88px!important;
  align-self:start!important;
}
.article-description-label span{
  display:block!important;
  color:#8b5e3c!important;
  font-size:12px!important;
  letter-spacing:.14em!important;
  line-height:1.4!important;
}
.article-description-label small{
  display:block!important;
  margin-top:8px!important;
  color:#17130f!important;
  font-size:12px!important;
  letter-spacing:.08em!important;
}
.article-description-copy{
  min-width:0!important;
}
.article-description-copy p{
  margin:0 0 18px!important;
  color:#38332e!important;
  font-size:16px!important;
  line-height:2.05!important;
  word-break:normal!important;
  overflow-wrap:anywhere!important;
}
.article-description-copy blockquote{
  margin:28px 0 0!important;
  padding:22px 26px!important;
  border-left:3px solid #b8893a!important;
  background:#fbfaf7!important;
  border-radius:0 18px 18px 0!important;
  color:#17130f!important;
  line-height:1.85!important;
}

/* Gift section: prevent clipping and make all text readable */
.article-gift-curation{
  max-width:1120px!important;
  margin:0 auto!important;
  padding:0 24px 72px!important;
}
.article-gift-list-editorial{
  display:grid!important;
  gap:28px!important;
  overflow:visible!important;
}
.article-product-feature{
  display:grid!important;
  grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr)!important;
  min-height:0!important;
  height:auto!important;
  overflow:visible!important;
  border-radius:28px!important;
  background:#fff!important;
  border:1px solid rgba(23,19,15,.10)!important;
}
.article-product-image{
  min-height:100%!important;
  overflow:hidden!important;
}
.article-product-image img{
  width:100%!important;
  height:100%!important;
  min-height:360px!important;
  object-fit:cover!important;
  display:block!important;
}
.article-product-copy{
  min-width:0!important;
  height:auto!important;
  overflow:visible!important;
  padding:34px!important;
}
.article-product-meta{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  margin-bottom:16px!important;
}
.article-product-meta span,
.article-product-meta strong{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}
.article-product-copy h3{
  margin:0 0 12px!important;
  color:#17130f!important;
  font-size:clamp(26px,3.2vw,42px)!important;
  line-height:1.15!important;
  letter-spacing:-.035em!important;
  white-space:normal!important;
  word-break:keep-all!important;
  overflow-wrap:anywhere!important;
  overflow:visible!important;
}
.article-product-intro{
  margin:0 0 24px!important;
  color:#665f58!important;
  line-height:1.85!important;
  font-size:15px!important;
  white-space:normal!important;
  overflow:visible!important;
}
.recommend-points{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px!important;
}
.recommend-points section{
  min-width:0!important;
  height:auto!important;
  overflow:visible!important;
  padding:18px!important;
  border-radius:18px!important;
  background:#fbfaf7!important;
  border:1px solid rgba(23,19,15,.08)!important;
}
.recommend-points em{
  display:block!important;
  color:#8b5e3c!important;
  font-size:11px!important;
  letter-spacing:.10em!important;
  line-height:1.4!important;
  margin-bottom:8px!important;
}
.recommend-points h4{
  margin:0 0 8px!important;
  color:#17130f!important;
  font-size:18px!important;
  line-height:1.35!important;
  white-space:normal!important;
}
.recommend-points p{
  margin:0!important;
  color:#665f58!important;
  font-size:13px!important;
  line-height:1.75!important;
  white-space:normal!important;
  overflow:visible!important;
}

/* Article content duplicate should not appear after gifts */
.article-content{
  display:none!important;
}

/* Talent episode: horizontal top cards + pop down more section */
.talent-episode-section{
  max-width:1180px!important;
  margin:76px auto 0!important;
}
.talent-episode-row{
  display:grid!important;
  grid-template-columns:1.2fr .8fr .8fr!important;
  gap:18px!important;
  align-items:stretch!important;
}
.talent-episode-card{
  position:relative!important;
  display:block!important;
  min-height:340px!important;
  color:#fff!important;
  text-decoration:none!important;
  border-radius:28px!important;
  overflow:hidden!important;
  background:#111!important;
  box-shadow:0 22px 64px rgba(23,19,15,.14)!important;
}
.talent-episode-card.is-main{
  min-height:420px!important;
}
.talent-episode-card img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
.talent-episode-card::after{
  content:''!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.70))!important;
}
.talent-episode-card div{
  position:absolute!important;
  z-index:1!important;
  left:24px!important;
  right:24px!important;
  bottom:24px!important;
}
.talent-episode-card span{
  display:block!important;
  color:#d6b36a!important;
  font-size:11px!important;
  letter-spacing:.12em!important;
  line-height:1.4!important;
  margin-bottom:8px!important;
}
.talent-episode-card h3{
  margin:0 0 8px!important;
  color:#fff!important;
  font-size:clamp(22px,2.7vw,40px)!important;
  line-height:1.12!important;
  letter-spacing:-.04em!important;
  white-space:normal!important;
}
.talent-episode-card p{
  margin:0!important;
  color:rgba(255,255,255,.82)!important;
  line-height:1.65!important;
  font-size:14px!important;
}
.talent-episode-pop{
  margin-top:18px!important;
  display:flex!important;
  gap:16px!important;
  overflow-x:auto!important;
  -webkit-overflow-scrolling:touch!important;
  scroll-snap-type:x mandatory!important;
  padding:4px 2px 18px!important;
  max-height:0!important;
  opacity:0!important;
  pointer-events:none!important;
  transform:translateY(-8px)!important;
  transition:max-height .32s ease, opacity .24s ease, transform .24s ease!important;
}
.talent-episode-pop.is-open{
  max-height:320px!important;
  opacity:1!important;
  pointer-events:auto!important;
  transform:translateY(0)!important;
}
.talent-episode-pop a{
  flex:0 0 300px!important;
  height:220px!important;
  position:relative!important;
  display:block!important;
  color:#fff!important;
  text-decoration:none!important;
  border-radius:24px!important;
  overflow:hidden!important;
  background:#111!important;
  scroll-snap-align:start!important;
}
.talent-episode-pop img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.talent-episode-pop a::after{
  content:''!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.72))!important;
}
.talent-episode-pop div{
  position:absolute!important;
  z-index:1!important;
  left:20px!important;
  right:20px!important;
  bottom:20px!important;
}
.talent-episode-pop strong{
  display:block!important;
  color:#fff!important;
  font-size:22px!important;
  line-height:1.2!important;
  margin-bottom:6px!important;
}
.talent-episode-pop span{
  display:block!important;
  color:#d6b36a!important;
  font-size:13px!important;
  line-height:1.5!important;
}

/* Disable old vertical episode rail styles */
.journal-episode-feature,
.episode-rail{
  all:unset;
}

/* SP */
@media(max-width:900px){
  .article-description-block{
    grid-template-columns:1fr!important;
    gap:18px!important;
    padding:0 16px 36px!important;
    margin-bottom:42px!important;
  }
  .article-description-label{
    position:static!important;
  }
  .article-description-copy p{
    font-size:15px!important;
    line-height:1.95!important;
  }
  .article-gift-curation{
    padding:0 16px 56px!important;
  }
  .article-product-feature{
    grid-template-columns:1fr!important;
    border-radius:22px!important;
    overflow:hidden!important;
  }
  .article-product-image img{
    min-height:220px!important;
    height:220px!important;
  }
  .article-product-copy{
    padding:22px 18px!important;
  }
  .article-product-copy h3{
    font-size:26px!important;
    line-height:1.2!important;
  }
  .recommend-points{
    grid-template-columns:1fr!important;
    gap:12px!important;
  }
  .talent-episode-row{
    display:flex!important;
    gap:14px!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
    scroll-snap-type:x mandatory!important;
    padding-bottom:14px!important;
  }
  .talent-episode-card,
  .talent-episode-card.is-main{
    flex:0 0 82vw!important;
    min-height:330px!important;
    scroll-snap-align:start!important;
  }
  .talent-episode-pop a{
    flex-basis:78vw!important;
  }
}


/* =========================================================
   ROUND 10 : precise article visual correction
   ========================================================= */

/* Article top spacing: give breathing room before explanation */
.article-hero{
  padding-bottom:74px!important;
}
.article-description-block{
  margin:26px auto 76px!important;
  padding:0 24px 58px!important;
  display:grid!important;
  grid-template-columns:170px minmax(0,760px)!important;
  gap:52px!important;
  border-bottom:1px solid rgba(23,19,15,.12)!important;
}
.article-description-copy p{
  font-size:16px!important;
  line-height:2.05!important;
  color:#38332e!important;
}

/* Gift heading: keep it natural, left aligned, no weird right-side split */
.article-gift-curation{
  max-width:1120px!important;
  margin:0 auto!important;
  padding:0 24px 82px!important;
}
.article-curation-head{
  display:block!important;
  max-width:760px!important;
  margin:0 0 34px!important;
  text-align:left!important;
}
.article-curation-head .eyebrow{
  margin-bottom:12px!important;
}
.article-curation-head h2{
  display:block!important;
  width:auto!important;
  max-width:none!important;
  margin:0 0 14px!important;
  color:#17130f!important;
  font-size:clamp(34px,4vw,54px)!important;
  line-height:1.12!important;
  letter-spacing:-.04em!important;
  white-space:normal!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
}
.article-curation-head p{
  max-width:640px!important;
  margin:0!important;
  color:#665f58!important;
  font-size:15px!important;
  line-height:1.9!important;
  word-break:normal!important;
  overflow-wrap:anywhere!important;
}

/* Gift cards: no clipping, no recommendation mini cards */
.article-gift-list-editorial{
  display:grid!important;
  gap:28px!important;
  overflow:visible!important;
}
.article-product-feature{
  display:grid!important;
  grid-template-columns:360px minmax(0,1fr)!important;
  height:auto!important;
  min-height:0!important;
  overflow:hidden!important;
  border-radius:30px!important;
  background:#fff!important;
  border:1px solid rgba(23,19,15,.10)!important;
  box-shadow:0 22px 60px rgba(23,19,15,.08)!important;
}
.article-product-image{
  min-height:300px!important;
  height:auto!important;
  overflow:hidden!important;
}
.article-product-image img{
  width:100%!important;
  height:100%!important;
  min-height:300px!important;
  object-fit:cover!important;
  display:block!important;
}
.article-product-copy{
  min-width:0!important;
  height:auto!important;
  overflow:visible!important;
  padding:36px 38px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
}
.article-product-meta{
  display:flex!important;
  flex-wrap:wrap!important;
  justify-content:space-between!important;
  align-items:center!important;
  gap:10px!important;
  margin-bottom:18px!important;
}
.article-product-meta span,
.article-product-meta strong{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  line-height:1.45!important;
}
.article-product-copy h3{
  margin:0 0 16px!important;
  color:#17130f!important;
  font-size:clamp(28px,3vw,40px)!important;
  line-height:1.18!important;
  letter-spacing:-.035em!important;
  white-space:normal!important;
  word-break:keep-all!important;
  overflow-wrap:anywhere!important;
  overflow:visible!important;
}
.article-product-intro{
  margin:0!important;
  color:#504a43!important;
  font-size:15px!important;
  line-height:1.95!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:anywhere!important;
  overflow:visible!important;
}
.recommend-points{
  display:none!important;
}

/* Article content should not appear again below gifts */
.article-content{
  display:none!important;
}

/* Talent section: make the visible row clean and the more area feel like a cool drop-down */
.talent-episode-section{
  max-width:1180px!important;
  margin:84px auto 0!important;
  position:relative!important;
}
.talent-episode-row{
  display:grid!important;
  grid-template-columns:1.15fr .85fr .85fr!important;
  gap:18px!important;
  align-items:stretch!important;
}
.talent-episode-card{
  position:relative!important;
  display:block!important;
  min-height:360px!important;
  color:#fff!important;
  text-decoration:none!important;
  border-radius:30px!important;
  overflow:hidden!important;
  background:#111!important;
  box-shadow:0 22px 64px rgba(23,19,15,.14)!important;
}
.talent-episode-card.is-main{
  min-height:420px!important;
}
.talent-episode-card img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
  transition:transform .5s ease!important;
}
.talent-episode-card:hover img{
  transform:scale(1.04)!important;
}
.talent-episode-card::after{
  content:''!important;
  position:absolute!important;
  inset:0!important;
  background:
    radial-gradient(circle at 15% 75%,rgba(214,179,106,.22),transparent 28%),
    linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.74))!important;
}
.talent-episode-card div{
  position:absolute!important;
  z-index:1!important;
  left:24px!important;
  right:24px!important;
  bottom:24px!important;
}
.talent-episode-card span{
  display:block!important;
  color:#d6b36a!important;
  font-size:11px!important;
  letter-spacing:.12em!important;
  line-height:1.4!important;
  margin-bottom:8px!important;
}
.talent-episode-card h3{
  margin:0 0 8px!important;
  color:#fff!important;
  font-size:clamp(24px,2.7vw,42px)!important;
  line-height:1.12!important;
  letter-spacing:-.04em!important;
  white-space:normal!important;
  word-break:keep-all!important;
  overflow-wrap:anywhere!important;
}
.talent-episode-card p{
  margin:0!important;
  color:rgba(255,255,255,.84)!important;
  line-height:1.65!important;
  font-size:14px!important;
}
.talent-more-button{
  background:linear-gradient(135deg,#17130f 0%,#8b5e3c 100%)!important;
  color:#fffaf2!important;
  border:1px solid rgba(214,179,106,.4)!important;
  box-shadow:0 14px 34px rgba(23,19,15,.16)!important;
}
.talent-episode-pop{
  margin-top:22px!important;
  padding:0!important;
  overflow:hidden!important;
  max-height:0!important;
  opacity:0!important;
  pointer-events:none!important;
  transform:translateY(-8px)!important;
  transition:max-height .36s ease, opacity .24s ease, transform .24s ease, padding .24s ease!important;
  background:
    radial-gradient(circle at 0 0,rgba(214,179,106,.18),transparent 32%),
    linear-gradient(145deg,#15110e 0%,#2b211a 100%)!important;
  border-radius:30px!important;
  border:1px solid rgba(214,179,106,.26)!important;
  box-shadow:0 24px 70px rgba(23,19,15,.16)!important;
}
.talent-episode-pop.is-open{
  max-height:520px!important;
  opacity:1!important;
  pointer-events:auto!important;
  transform:translateY(0)!important;
  padding:26px!important;
}
.talent-pop-head{
  display:flex!important;
  justify-content:space-between!important;
  align-items:end!important;
  gap:20px!important;
  margin-bottom:18px!important;
}
.talent-pop-head p{
  margin:0!important;
  color:#d6b36a!important;
  font-size:11px!important;
  letter-spacing:.14em!important;
}
.talent-pop-head h3{
  margin:0!important;
  color:#fffaf2!important;
  font-size:clamp(24px,3vw,38px)!important;
  line-height:1.1!important;
  letter-spacing:-.04em!important;
}
.talent-pop-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
}
.talent-pop-grid a{
  position:relative!important;
  display:block!important;
  height:240px!important;
  color:#fff!important;
  text-decoration:none!important;
  border-radius:24px!important;
  overflow:hidden!important;
  background:#111!important;
}
.talent-pop-grid img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  transition:transform .45s ease!important;
}
.talent-pop-grid a:hover img{
  transform:scale(1.04)!important;
}
.talent-pop-grid a::after{
  content:''!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.74))!important;
}
.talent-pop-grid div{
  position:absolute!important;
  z-index:1!important;
  left:20px!important;
  right:20px!important;
  bottom:20px!important;
}
.talent-pop-grid small{
  display:block!important;
  color:#d6b36a!important;
  font-size:10px!important;
  letter-spacing:.12em!important;
  margin-bottom:7px!important;
}
.talent-pop-grid strong{
  display:block!important;
  color:#fff!important;
  font-size:24px!important;
  line-height:1.2!important;
  margin-bottom:7px!important;
}
.talent-pop-grid span{
  display:block!important;
  color:rgba(255,255,255,.84)!important;
  font-size:13px!important;
  line-height:1.55!important;
}

/* Hard reset old talent pop card rules */
.talent-episode-pop > a,
.talent-episode-pop > img,
.talent-episode-pop > div:not(.talent-pop-head):not(.talent-pop-grid){
  all:unset;
}

/* SP */
@media(max-width:900px){
  .article-hero{
    padding-bottom:48px!important;
  }
  .article-description-block{
    grid-template-columns:1fr!important;
    gap:18px!important;
    margin:16px auto 54px!important;
    padding:0 16px 38px!important;
  }
  .article-description-label{
    position:static!important;
  }
  .article-description-copy p{
    font-size:15px!important;
    line-height:1.95!important;
  }
  .article-gift-curation{
    padding:0 16px 64px!important;
  }
  .article-curation-head{
    margin-bottom:24px!important;
  }
  .article-curation-head h2{
    font-size:34px!important;
    line-height:1.16!important;
    word-break:keep-all!important;
  }
  .article-product-feature{
    grid-template-columns:1fr!important;
    border-radius:24px!important;
  }
  .article-product-image img{
    min-height:220px!important;
    height:220px!important;
  }
  .article-product-copy{
    padding:24px 18px!important;
  }
  .article-product-copy h3{
    font-size:27px!important;
    line-height:1.2!important;
  }
  .article-product-intro{
    font-size:14.5px!important;
    line-height:1.9!important;
  }
  .talent-episode-row{
    display:flex!important;
    gap:14px!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
    scroll-snap-type:x mandatory!important;
    padding-bottom:14px!important;
  }
  .talent-episode-card,
  .talent-episode-card.is-main{
    flex:0 0 82vw!important;
    min-height:330px!important;
    scroll-snap-align:start!important;
  }
  .talent-episode-pop.is-open{
    padding:20px!important;
    max-height:900px!important;
  }
  .talent-pop-head{
    display:block!important;
  }
  .talent-pop-head h3{
    margin-top:8px!important;
    font-size:26px!important;
  }
  .talent-pop-grid{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .talent-pop-grid a{
    height:220px!important;
  }
}


/* =========================================================
   ROUND 12 : talent more fixed / title punctuation cleanup
   ========================================================= */

/* Heading line-break control: avoid punctuation-only second lines */
.article-page h1,
.article-page h2,
.article-page h3,
.article-index-page h1,
.article-index-page h2,
.article-index-page h3,
.talent-episode-card h3,
.talent-pop-grid strong{
  text-wrap:balance!important;
  line-break:strict!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
}

/* Talent top row should remain clean and aligned */
.talent-episode-section{
  overflow:visible!important;
}
.talent-episode-row{
  display:grid!important;
  grid-template-columns:1.18fr .91fr .91fr!important;
  gap:18px!important;
  align-items:stretch!important;
  overflow:visible!important;
  padding:0!important;
}
.talent-episode-card,
.talent-episode-card.is-main{
  width:100%!important;
  min-width:0!important;
  min-height:420px!important;
  height:420px!important;
  overflow:hidden!important;
  border-radius:30px!important;
}
.talent-episode-card h3{
  font-size:clamp(25px,2.55vw,38px)!important;
  line-height:1.14!important;
  letter-spacing:-.04em!important;
}
.talent-episode-card p{
  line-height:1.65!important;
}

/* More area: closed means fully hidden, open means full drop-down below */
.talent-episode-pop.is-compact:not(.is-open){
  display:none!important;
  max-height:0!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  opacity:0!important;
  overflow:hidden!important;
  pointer-events:none!important;
}
.talent-episode-pop.is-open{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  margin-top:22px!important;
  padding:28px!important;
  opacity:1!important;
  overflow:visible!important;
  pointer-events:auto!important;
  transform:none!important;
  background:
    radial-gradient(circle at 0% 0%,rgba(214,179,106,.20),transparent 34%),
    radial-gradient(circle at 100% 100%,rgba(255,255,255,.08),transparent 30%),
    linear-gradient(145deg,#14100d 0%,#2d2118 100%)!important;
  border:1px solid rgba(214,179,106,.28)!important;
  border-radius:30px!important;
  box-shadow:0 24px 70px rgba(23,19,15,.18)!important;
}
.talent-pop-head{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:24px!important;
  margin:0 0 20px!important;
  padding:0!important;
  position:relative!important;
  z-index:2!important;
}
.talent-pop-head p{
  margin:0!important;
  color:#d6b36a!important;
  font-size:11px!important;
  letter-spacing:.16em!important;
  line-height:1.4!important;
}
.talent-pop-head h3{
  margin:0!important;
  color:#fffaf2!important;
  font-size:clamp(24px,3vw,38px)!important;
  line-height:1.1!important;
  letter-spacing:-.04em!important;
}
.talent-pop-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
  width:100%!important;
  position:relative!important;
  z-index:2!important;
}
.talent-pop-grid a{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:250px!important;
  min-height:250px!important;
  color:#fff!important;
  text-decoration:none!important;
  border-radius:24px!important;
  overflow:hidden!important;
  background:#111!important;
  box-shadow:0 14px 34px rgba(0,0,0,.20)!important;
}
.talent-pop-grid img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
}
.talent-pop-grid a::after{
  content:''!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:linear-gradient(180deg,rgba(0,0,0,.04) 0%,rgba(0,0,0,.74) 100%)!important;
}
.talent-pop-grid div{
  position:absolute!important;
  z-index:2!important;
  left:20px!important;
  right:20px!important;
  bottom:20px!important;
  display:block!important;
}
.talent-pop-grid small{
  display:block!important;
  margin:0 0 7px!important;
  color:#d6b36a!important;
  font-size:10px!important;
  letter-spacing:.12em!important;
  line-height:1.4!important;
}
.talent-pop-grid strong{
  display:block!important;
  margin:0 0 7px!important;
  color:#fff!important;
  font-size:24px!important;
  line-height:1.2!important;
}
.talent-pop-grid span{
  display:block!important;
  margin:0!important;
  color:rgba(255,255,255,.84)!important;
  font-size:13px!important;
  line-height:1.55!important;
}

/* override earlier generic card rules under talent pop */
.talent-episode-pop > a{
  display:none!important;
}
.talent-episode-pop .talent-pop-grid > a{
  display:block!important;
}

/* Article title sizing: readable and less likely to break awkwardly */
.article-hero-copy h1{
  max-width:680px!important;
  font-size:clamp(34px,4.2vw,58px)!important;
  line-height:1.13!important;
}
.article-curation-head h2{
  max-width:720px!important;
  font-size:clamp(32px,3.7vw,48px)!important;
  line-height:1.16!important;
}

/* SP */
@media(max-width:900px){
  .article-page h1,
  .article-page h2,
  .article-page h3,
  .article-index-page h1,
  .article-index-page h2,
  .article-index-page h3{
    word-break:normal!important;
    overflow-wrap:anywhere!important;
    text-wrap:pretty!important;
  }
  .talent-episode-row{
    display:flex!important;
    gap:14px!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
    scroll-snap-type:x mandatory!important;
    padding-bottom:14px!important;
  }
  .talent-episode-card,
  .talent-episode-card.is-main{
    flex:0 0 82vw!important;
    width:82vw!important;
    height:330px!important;
    min-height:330px!important;
    scroll-snap-align:start!important;
  }
  .talent-episode-pop.is-open{
    padding:20px!important;
    border-radius:24px!important;
  }
  .talent-pop-head{
    display:block!important;
  }
  .talent-pop-head h3{
    margin-top:8px!important;
    font-size:26px!important;
  }
  .talent-pop-grid{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .talent-pop-grid a{
    height:220px!important;
    min-height:220px!important;
  }
}


/* =========================================================
   ROUND 13 : talent more complete rebuild
   Purpose: no overlap, no double toggle, no collapsed-card artifacts
   ========================================================= */

/* Kill previous talent implementations completely */
.journal-episode-section,
.talent-episode-section,
.journal-episode-feature,
.talent-episode-row,
.talent-episode-pop,
.episode-rail{
  display:none!important;
}

/* Clean talent section */
.talent-feature-clean{
  max-width:1180px!important;
  margin:84px auto 0!important;
  padding:0!important;
  display:block!important;
  overflow:visible!important;
  position:relative!important;
}
.talent-feature-head{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:24px!important;
  margin-bottom:24px!important;
}
.talent-feature-head h2{
  margin:0!important;
  color:#17130f!important;
  font-family:'Playfair Display',Georgia,serif!important;
  font-size:clamp(32px,4vw,56px)!important;
  line-height:1.08!important;
  letter-spacing:-.045em!important;
  word-break:keep-all!important;
  text-wrap:balance!important;
}
.talent-expand-button{
  flex:0 0 auto!important;
  min-width:120px!important;
  min-height:46px!important;
  padding:0 22px!important;
  border-radius:999px!important;
  border:1px solid rgba(214,179,106,.45)!important;
  background:linear-gradient(135deg,#17130f 0%,#8b5e3c 100%)!important;
  color:#fffaf2!important;
  font:inherit!important;
  font-size:13px!important;
  cursor:pointer!important;
  box-shadow:0 14px 34px rgba(23,19,15,.16)!important;
}
.talent-feature-row{
  display:grid!important;
  grid-template-columns:1.16fr .92fr .92fr!important;
  gap:18px!important;
  width:100%!important;
  overflow:visible!important;
  align-items:stretch!important;
}
.talent-feature-card{
  position:relative!important;
  display:block!important;
  min-width:0!important;
  width:100%!important;
  height:420px!important;
  min-height:420px!important;
  color:#fff!important;
  text-decoration:none!important;
  border-radius:30px!important;
  overflow:hidden!important;
  background:#111!important;
  box-shadow:0 22px 64px rgba(23,19,15,.14)!important;
}
.talent-feature-card img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
  transition:transform .5s ease!important;
}
.talent-feature-card:hover img{
  transform:scale(1.04)!important;
}
.talent-feature-card::after{
  content:''!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:
    radial-gradient(circle at 18% 76%,rgba(214,179,106,.24),transparent 30%),
    linear-gradient(180deg,rgba(0,0,0,.04) 0%,rgba(0,0,0,.74) 100%)!important;
}
.talent-feature-card div{
  position:absolute!important;
  z-index:2!important;
  left:24px!important;
  right:24px!important;
  bottom:24px!important;
}
.talent-feature-card span{
  display:block!important;
  margin:0 0 8px!important;
  color:#d6b36a!important;
  font-size:11px!important;
  letter-spacing:.12em!important;
  line-height:1.4!important;
}
.talent-feature-card h3{
  margin:0 0 8px!important;
  color:#fff!important;
  font-size:clamp(24px,2.65vw,40px)!important;
  line-height:1.12!important;
  letter-spacing:-.04em!important;
  word-break:keep-all!important;
  text-wrap:balance!important;
}
.talent-feature-card p{
  margin:0!important;
  color:rgba(255,255,255,.84)!important;
  font-size:14px!important;
  line-height:1.65!important;
}

/* hidden is absolute truth */
#talentMorePanel[hidden]{
  display:none!important;
}
.talent-more-panel{
  display:block!important;
  width:100%!important;
  margin:22px 0 0!important;
  padding:28px!important;
  border-radius:30px!important;
  box-sizing:border-box!important;
  overflow:visible!important;
  background:
    radial-gradient(circle at 0% 0%,rgba(214,179,106,.20),transparent 34%),
    radial-gradient(circle at 100% 100%,rgba(255,255,255,.08),transparent 30%),
    linear-gradient(145deg,#14100d 0%,#2d2118 100%)!important;
  border:1px solid rgba(214,179,106,.28)!important;
  box-shadow:0 24px 70px rgba(23,19,15,.18)!important;
}
.talent-more-head{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:24px!important;
  margin:0 0 20px!important;
}
.talent-more-head p{
  margin:0!important;
  color:#d6b36a!important;
  font-size:11px!important;
  letter-spacing:.16em!important;
  line-height:1.4!important;
}
.talent-more-head h3{
  margin:0!important;
  color:#fffaf2!important;
  font-size:clamp(24px,3vw,38px)!important;
  line-height:1.1!important;
  letter-spacing:-.04em!important;
  word-break:keep-all!important;
  text-wrap:balance!important;
}
.talent-more-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
  width:100%!important;
}
.talent-more-grid a{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:250px!important;
  min-height:250px!important;
  color:#fff!important;
  text-decoration:none!important;
  border-radius:24px!important;
  overflow:hidden!important;
  background:#111!important;
  box-shadow:0 14px 34px rgba(0,0,0,.20)!important;
}
.talent-more-grid img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
  transition:transform .45s ease!important;
}
.talent-more-grid a:hover img{
  transform:scale(1.04)!important;
}
.talent-more-grid a::after{
  content:''!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.74))!important;
}
.talent-more-grid div{
  position:absolute!important;
  z-index:2!important;
  left:20px!important;
  right:20px!important;
  bottom:20px!important;
}
.talent-more-grid small{
  display:block!important;
  margin:0 0 7px!important;
  color:#d6b36a!important;
  font-size:10px!important;
  letter-spacing:.12em!important;
  line-height:1.4!important;
}
.talent-more-grid strong{
  display:block!important;
  margin:0 0 7px!important;
  color:#fff!important;
  font-size:24px!important;
  line-height:1.2!important;
  word-break:keep-all!important;
}
.talent-more-grid span{
  display:block!important;
  margin:0!important;
  color:rgba(255,255,255,.84)!important;
  font-size:13px!important;
  line-height:1.55!important;
}

/* SP */
@media(max-width:900px){
  .talent-feature-clean{
    margin-top:58px!important;
  }
  .talent-feature-head{
    display:block!important;
    margin-bottom:18px!important;
  }
  .talent-feature-head h2{
    font-size:34px!important;
    line-height:1.12!important;
  }
  .talent-expand-button{
    width:100%!important;
    margin-top:14px!important;
  }
  .talent-feature-row{
    display:flex!important;
    gap:14px!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
    scroll-snap-type:x mandatory!important;
    padding-bottom:14px!important;
  }
  .talent-feature-card{
    flex:0 0 82vw!important;
    width:82vw!important;
    height:330px!important;
    min-height:330px!important;
    scroll-snap-align:start!important;
  }
  .talent-more-panel{
    padding:20px!important;
    border-radius:24px!important;
  }
  .talent-more-head{
    display:block!important;
  }
  .talent-more-head h3{
    margin-top:8px!important;
    font-size:26px!important;
  }
  .talent-more-grid{
    grid-template-columns:1fr!important;
    gap:14px!important;
  }
  .talent-more-grid a{
    height:220px!important;
    min-height:220px!important;
  }
}


/* ROUND 14 : emotional talent more copy + horizontal episode scroll */
.talent-more-head h3{
  max-width:720px!important;
  font-size:clamp(25px,3.2vw,42px)!important;
  line-height:1.12!important;
  letter-spacing:-.045em!important;
}
.talent-more-head p{
  color:#d6b36a!important;
}
.talent-more-grid.talent-more-scroll{
  display:flex!important;
  grid-template-columns:none!important;
  gap:16px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  scroll-snap-type:x mandatory!important;
  padding:2px 2px 18px!important;
}
.talent-more-grid.talent-more-scroll a{
  flex:0 0 320px!important;
  width:320px!important;
  height:250px!important;
  scroll-snap-align:start!important;
}
@media(max-width:900px){
  .talent-more-grid.talent-more-scroll{
    gap:14px!important;
  }
  .talent-more-grid.talent-more-scroll a{
    flex-basis:78vw!important;
    width:78vw!important;
    height:220px!important;
  }
}


/* ROUND 15 : keep meaning as other episodes */
.talent-more-head h3{
  word-break:keep-all!important;
  text-wrap:balance!important;
}


/* =========================================================
   ROUND 17 : full visual screening / no text clipping / archive 10 items
   ========================================================= */

/* Global title safety: avoid punctuation-only line starts and ellipsis on key UI text */
:is(h1,h2,h3,h4,.article-jacket strong,.archive-jacket strong,.ranking-meta h3,.quick-card-body h3,.gift-card h3,.article-reader-copy h3){
  line-break:strict!important;
  word-break:keep-all!important;
  overflow-wrap:anywhere!important;
  text-wrap:balance!important;
}
:is(.article-jacket strong,.archive-jacket strong,.ranking-meta h3,.quick-card-body h3,.gift-card h3,.article-reader-copy h3){
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  -webkit-line-clamp:unset!important;
  -webkit-box-orient:unset!important;
}

/* Past interview archive: same width, horizontal scroll, up to 10 */
.archive-rail,
.archive-rail.is-collapsed,
.archive-rail.is-expanded{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:18px!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  scroll-snap-type:x mandatory!important;
  -webkit-overflow-scrolling:touch!important;
  padding:6px 2px 24px!important;
  scrollbar-width:auto!important;
}
.archive-rail.is-collapsed .archive-extra{
  display:none!important;
}
.archive-rail.is-expanded .archive-extra{
  display:block!important;
}
.archive-jacket,
.archive-rail .archive-jacket{
  flex:0 0 280px!important;
  width:280px!important;
  min-width:280px!important;
  max-width:280px!important;
  min-height:470px!important;
  height:auto!important;
  scroll-snap-align:start!important;
  transform:none!important;
  border-radius:28px!important;
  overflow:hidden!important;
  background:#111!important;
  box-shadow:0 18px 52px rgba(23,19,15,.14)!important;
}
.archive-jacket:nth-child(n){
  transform:none!important;
}
.archive-jacket img{
  width:100%!important;
  height:300px!important;
  min-height:300px!important;
  object-fit:cover!important;
  display:block!important;
}
.archive-jacket .vol{
  z-index:3!important;
  font-size:12px!important;
  line-height:1!important;
  padding:8px 10px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.90)!important;
  color:#17130f!important;
}
.archive-jacket div{
  position:relative!important;
  height:auto!important;
  min-height:170px!important;
  padding:18px 18px 20px!important;
  background:#fffaf2!important;
  color:#17130f!important;
  overflow:visible!important;
}
.archive-jacket div p{
  margin:0 0 8px!important;
  color:#8b5e3c!important;
  font-size:10px!important;
  letter-spacing:.14em!important;
  line-height:1.4!important;
}
.archive-jacket h4{
  margin:0 0 8px!important;
  color:#17130f!important;
  font-size:22px!important;
  line-height:1.2!important;
}
.archive-jacket strong{
  display:block!important;
  margin:0 0 10px!important;
  color:#38332e!important;
  font-size:14px!important;
  line-height:1.55!important;
  min-height:auto!important;
}
.archive-jacket small{
  display:block!important;
  margin:0 0 12px!important;
  color:#756b62!important;
  line-height:1.4!important;
}
.archive-jacket a{
  position:static!important;
  display:inline-flex!important;
  align-items:center!important;
  min-height:32px!important;
  padding:0 14px!important;
  border-radius:999px!important;
  background:#17130f!important;
  color:#fffaf2!important;
  text-decoration:none!important;
  font-size:12px!important;
}

/* Calendar / today: remove article button and decorative diamond/stamp */
.today-card .btn-line-dark,
.thank-stamp,
.today-card::before,
.today-card::after,
.calendar-board::before,
.calendar-board::after,
.calendar-section::before,
.calendar-section::after,
.day-cell.has-event::before,
.day-cell.has-event::after,
.day-cell.featured::before,
.day-cell.featured::after{
  display:none!important;
  content:none!important;
}

/* Gift hint section: readable article titles, no ellipsis, cleaner 01 design */
.article-shelf.article-desk{
  overflow:visible!important;
}
.article-reader-copy h3{
  max-width:760px!important;
  font-size:clamp(28px,3.5vw,46px)!important;
  line-height:1.16!important;
  letter-spacing:-.035em!important;
  white-space:normal!important;
  overflow:visible!important;
}
.article-issue-strip{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:14px!important;
  align-items:stretch!important;
  overflow:visible!important;
}
.article-issue-strip .article-jacket{
  position:relative!important;
  display:block!important;
  min-height:230px!important;
  height:230px!important;
  padding:0!important;
  border-radius:24px!important;
  overflow:hidden!important;
  background:#111!important;
  color:#fff!important;
  box-shadow:0 18px 50px rgba(23,19,15,.13)!important;
}
.article-issue-strip .article-jacket img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
  filter:none!important;
}
.article-issue-strip .article-jacket::before{
  display:none!important;
  content:none!important;
}
.article-issue-strip .article-jacket::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:linear-gradient(180deg,rgba(0,0,0,.04) 0%,rgba(0,0,0,.70) 100%)!important;
}
.article-issue-strip .article-jacket em{
  position:absolute!important;
  z-index:2!important;
  left:16px!important;
  top:16px!important;
  bottom:auto!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  height:32px!important;
  min-width:44px!important;
  margin:0!important;
  padding:0 10px!important;
  border-radius:999px!important;
  background:rgba(255,250,242,.92)!important;
  color:#17130f!important;
  font-family:'Playfair Display',Georgia,serif!important;
  font-size:16px!important;
  line-height:1!important;
  font-style:normal!important;
  letter-spacing:0!important;
  box-shadow:0 8px 18px rgba(0,0,0,.16)!important;
}
.article-issue-strip .article-jacket strong{
  position:absolute!important;
  z-index:2!important;
  left:18px!important;
  right:18px!important;
  bottom:18px!important;
  display:block!important;
  margin:0!important;
  color:#fff!important;
  font-size:18px!important;
  line-height:1.35!important;
  font-weight:600!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  word-break:keep-all!important;
  overflow-wrap:anywhere!important;
}
.article-issue-strip .article-jacket span,
.article-issue-strip .article-jacket small{
  display:none!important;
}
.article-more-link::after{
  display:none!important;
  content:none!important;
}

/* Quick gifts: expanded state shows max 10 via JS; ensure grid remains clean */
.quick-card-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
}
.quick-gift-card{
  min-height:300px!important;
  overflow:hidden!important;
}
.quick-card-body h3{
  font-size:22px!important;
  line-height:1.25!important;
  white-space:normal!important;
}
.quick-card-body p,
.quick-card-body small,
.quick-card-body strong{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}

/* Ranking copy/cards */
.ranking-head p{
  max-width:620px!important;
}
.ranking-meta h3{
  line-height:1.35!important;
}

/* Mobile safeguards */
@media(max-width:900px){
  :is(h1,h2,h3,h4,.article-jacket strong,.archive-jacket strong,.ranking-meta h3,.quick-card-body h3){
    word-break:normal!important;
    overflow-wrap:anywhere!important;
    text-wrap:pretty!important;
  }
  .archive-rail,
  .archive-rail.is-collapsed,
  .archive-rail.is-expanded{
    gap:14px!important;
    padding-bottom:18px!important;
  }
  .archive-jacket,
  .archive-rail .archive-jacket{
    flex:0 0 78vw!important;
    width:78vw!important;
    min-width:78vw!important;
    max-width:78vw!important;
    min-height:440px!important;
  }
  .archive-jacket img{
    height:270px!important;
    min-height:270px!important;
  }
  .article-issue-strip{
    display:flex!important;
    overflow-x:auto!important;
    gap:14px!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
    padding-bottom:16px!important;
  }
  .article-issue-strip .article-jacket{
    flex:0 0 76vw!important;
    width:76vw!important;
    min-width:76vw!important;
    height:240px!important;
    min-height:240px!important;
    scroll-snap-align:start!important;
  }
  .article-issue-strip .article-jacket strong{
    font-size:18px!important;
    line-height:1.35!important;
    left:18px!important;
    right:18px!important;
    bottom:18px!important;
  }
  .quick-card-grid{
    grid-template-columns:1fr!important;
  }
}


/* =========================================================
   ROUND 25 : restore non-TOP fixes only
   TOP hero untouched.
   ========================================================= */

/* text safety outside TOP */
main section:not(.hero-making) :is(h1,h2,h3,h4,.article-jacket strong,.archive-jacket strong,.ranking-meta h3,.quick-card-body h3,.gift-card h3,.article-reader-copy h3){
  line-break:strict!important;
  word-break:keep-all!important;
  overflow-wrap:anywhere!important;
  text-wrap:balance!important;
}
main section:not(.hero-making) :is(.article-jacket strong,.archive-jacket strong,.ranking-meta h3,.quick-card-body h3,.gift-card h3,.article-reader-copy h3){
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  -webkit-line-clamp:unset!important;
  -webkit-box-orient:unset!important;
}

/* 過去エピソード：全面画像＋文字重ね、Volは小さめラベル */
.archive-rail,
.archive-rail.is-collapsed,
.archive-rail.is-expanded{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:18px!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  scroll-snap-type:x mandatory!important;
  -webkit-overflow-scrolling:touch!important;
  padding:8px 2px 28px!important;
}
.archive-rail.is-collapsed .archive-extra{
  display:none!important;
}
.archive-rail.is-expanded .archive-extra{
  display:block!important;
}
.archive-jacket,
.archive-rail .archive-jacket{
  position:relative!important;
  flex:0 0 300px!important;
  width:300px!important;
  min-width:300px!important;
  max-width:300px!important;
  height:430px!important;
  min-height:430px!important;
  padding:0!important;
  border-radius:30px!important;
  overflow:hidden!important;
  background:#111!important;
  color:#fff!important;
  scroll-snap-align:start!important;
  box-shadow:0 24px 70px rgba(23,19,15,.18)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  isolation:isolate!important;
}
.archive-jacket img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  object-fit:cover!important;
  display:block!important;
  filter:saturate(.82) contrast(.96) brightness(.78)!important;
  transform:scale(1.02)!important;
  transition:transform .7s cubic-bezier(.2,.7,.2,1), filter .7s ease!important;
}
.archive-jacket::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:
    radial-gradient(circle at 20% 18%,rgba(214,179,106,.22),transparent 30%),
    linear-gradient(180deg,rgba(0,0,0,.04) 0%,rgba(0,0,0,.28) 42%,rgba(0,0,0,.82) 100%)!important;
}
.archive-jacket .vol{
  position:absolute!important;
  z-index:4!important;
  top:18px!important;
  left:18px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:58px!important;
  height:30px!important;
  padding:0 12px!important;
  border-radius:999px!important;
  background:rgba(255,250,242,.90)!important;
  color:#17130f!important;
  font-family:inherit!important;
  font-size:12px!important;
  line-height:1!important;
  letter-spacing:.02em!important;
  text-shadow:none!important;
  backdrop-filter:blur(12px)!important;
  box-shadow:0 10px 28px rgba(0,0,0,.18)!important;
}
.archive-jacket div{
  position:absolute!important;
  z-index:2!important;
  left:22px!important;
  right:22px!important;
  bottom:22px!important;
  height:auto!important;
  min-height:0!important;
  padding:0!important;
  background:transparent!important;
  color:#fff!important;
  overflow:visible!important;
}
.archive-jacket div p{
  margin:0 0 8px!important;
  color:#d6b36a!important;
  font-size:10px!important;
  letter-spacing:.15em!important;
  line-height:1.4!important;
}
.archive-jacket h4{
  margin:0 0 10px!important;
  color:#fffaf2!important;
  font-size:26px!important;
  line-height:1.1!important;
  letter-spacing:-.03em!important;
  text-shadow:0 8px 24px rgba(0,0,0,.4)!important;
}
.archive-jacket strong{
  display:block!important;
  margin:0 0 12px!important;
  color:rgba(255,255,255,.86)!important;
  font-size:14px!important;
  line-height:1.55!important;
  text-shadow:0 8px 24px rgba(0,0,0,.34)!important;
}
.archive-jacket small{
  display:block!important;
  margin:0 0 14px!important;
  color:rgba(255,255,255,.72)!important;
  font-size:11px!important;
  letter-spacing:.04em!important;
}
.archive-jacket a{
  position:static!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:34px!important;
  padding:0 16px!important;
  border-radius:999px!important;
  background:rgba(255,250,242,.92)!important;
  color:#17130f!important;
  text-decoration:none!important;
  font-size:12px!important;
  backdrop-filter:blur(10px)!important;
}
.archive-jacket:hover{
  transform:translateY(-6px)!important;
  box-shadow:0 32px 86px rgba(23,19,15,.28)!important;
}
.archive-jacket:hover img{
  transform:scale(1.08)!important;
  filter:saturate(1.02) contrast(1.03) brightness(.9)!important;
}

/* カレンダー：不要導線と装飾を削除 */
.today-card .btn-line-dark,
.thank-stamp,
.calendar-board::before,
.calendar-board::after,
.calendar-section::before,
.calendar-section::after,
.day-cell.has-event::before,
.day-cell.has-event::after,
.day-cell.featured::before,
.day-cell.featured::after{
  display:none!important;
  content:none!important;
}

/* 贈り物にヒントを：01〜05は番号だけでスタイリッシュに */
.article-reader-copy h3{
  max-width:760px!important;
  font-size:clamp(28px,3.5vw,46px)!important;
  line-height:1.16!important;
  letter-spacing:-.035em!important;
  white-space:normal!important;
  overflow:visible!important;
}
.article-issue-strip{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:16px!important;
  align-items:stretch!important;
  overflow:visible!important;
}
.article-issue-strip .article-jacket{
  position:relative!important;
  display:block!important;
  min-height:260px!important;
  height:260px!important;
  padding:0!important;
  border-radius:26px!important;
  overflow:hidden!important;
  background:#111!important;
  color:#fff!important;
  box-shadow:0 22px 62px rgba(23,19,15,.16)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  isolation:isolate!important;
}
.article-issue-strip .article-jacket img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  display:block!important;
  filter:saturate(.85) contrast(.95) brightness(.84)!important;
  transform:scale(1.02)!important;
  transition:transform .7s cubic-bezier(.2,.7,.2,1), filter .7s ease!important;
}
.article-issue-strip .article-jacket::before{
  display:none!important;
  content:none!important;
}
.article-issue-strip .article-jacket::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:
    radial-gradient(circle at 18% 14%,rgba(214,179,106,.22),transparent 28%),
    linear-gradient(180deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.34) 45%,rgba(0,0,0,.82) 100%)!important;
}
.article-issue-strip .article-jacket em{
  position:absolute!important;
  z-index:2!important;
  left:18px!important;
  top:18px!important;
  display:block!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  padding:0!important;
  margin:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:rgba(255,250,242,.72)!important;
  font-family:'Playfair Display',Georgia,serif!important;
  font-size:42px!important;
  line-height:.9!important;
  font-style:normal!important;
  font-weight:400!important;
  letter-spacing:-.04em!important;
  text-shadow:0 8px 28px rgba(0,0,0,.35)!important;
}
.article-issue-strip .article-jacket strong{
  position:absolute!important;
  z-index:2!important;
  left:18px!important;
  right:18px!important;
  bottom:20px!important;
  display:block!important;
  margin:0!important;
  color:#fffaf2!important;
  font-size:19px!important;
  line-height:1.34!important;
  font-weight:500!important;
  letter-spacing:-.02em!important;
  text-shadow:0 10px 28px rgba(0,0,0,.42)!important;
}
.article-issue-strip .article-jacket span,
.article-issue-strip .article-jacket small{
  display:none!important;
}
.article-issue-strip .article-jacket:hover,
.article-issue-strip .article-jacket.active{
  transform:translateY(-6px)!important;
  box-shadow:0 30px 80px rgba(23,19,15,.24)!important;
}
.article-issue-strip .article-jacket:hover img,
.article-issue-strip .article-jacket.active img{
  transform:scale(1.08)!important;
  filter:saturate(1.02) contrast(1.03) brightness(.92)!important;
}

/* 今から間に合うギフト */
.quick-card-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
}
.quick-gift-card{
  min-height:300px!important;
  overflow:hidden!important;
}
.quick-card-body h3{
  font-size:22px!important;
  line-height:1.25!important;
  white-space:normal!important;
}
.quick-card-body p,
.quick-card-body small,
.quick-card-body strong{
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
}

/* 人気ランキング */
.ranking-head p{
  max-width:620px!important;
}
.ranking-meta h3{
  line-height:1.35!important;
}

/* TOP以外の軽い動き */
main section:not(.hero-making) :is(.archive-jacket,.article-issue-strip .article-jacket,.gift-card,.quick-gift-card,.ranking-card,.talent-feature-card,.talent-more-grid a){
  transition:transform .35s cubic-bezier(.2,.7,.2,1), box-shadow .35s ease, border-color .35s ease!important;
}
main section:not(.hero-making) :is(.archive-jacket,.article-issue-strip .article-jacket,.gift-card,.quick-gift-card,.ranking-card,.talent-feature-card,.talent-more-grid a):hover{
  transform:translateY(-6px)!important;
}

@media(max-width:900px){
  main section:not(.hero-making) :is(h1,h2,h3,h4,.article-jacket strong,.archive-jacket strong,.ranking-meta h3,.quick-card-body h3){
    word-break:normal!important;
    overflow-wrap:anywhere!important;
    text-wrap:pretty!important;
  }
  .archive-jacket,
  .archive-rail .archive-jacket{
    flex:0 0 78vw!important;
    width:78vw!important;
    min-width:78vw!important;
    max-width:78vw!important;
    height:430px!important;
    min-height:430px!important;
  }
  .article-issue-strip{
    display:flex!important;
    overflow-x:auto!important;
    gap:14px!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
    padding-bottom:16px!important;
  }
  .article-issue-strip .article-jacket{
    flex:0 0 76vw!important;
    width:76vw!important;
    min-width:76vw!important;
    height:250px!important;
    min-height:250px!important;
    scroll-snap-align:start!important;
  }
  .quick-card-grid{
    grid-template-columns:1fr!important;
  }
}


/* =========================================================
   ROUND 26 : mobile fixes only / TOP untouched
   ========================================================= */

@media(max-width:900px){

  /* ギフトカレンダー：スマホで潰れないように横スクロール可能な7列固定へ */
  main section:not(.hero-making).calendar-section,
  #calendar.calendar-section{
    display:block!important;
    width:auto!important;
    max-width:none!important;
    padding:44px 16px!important;
    overflow:hidden!important;
  }
  #calendar .calendar-intro{
    position:static!important;
    width:auto!important;
    flex:none!important;
    margin:0 0 22px!important;
    padding:0!important;
  }
  #calendar .calendar-intro h2{
    font-size:34px!important;
    line-height:1.24!important;
    margin:12px 0 12px!important;
    word-break:keep-all!important;
  }
  #calendar .calendar-intro p:not(.eyebrow){
    font-size:14px!important;
    line-height:1.75!important;
    max-width:none!important;
  }
  #calendar .calendar-board{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    padding:18px 14px 20px!important;
    border-radius:22px!important;
    overflow:hidden!important;
  }
  #calendar .calendar-head{
    display:grid!important;
    grid-template-columns:36px minmax(0,1fr) 36px!important;
    gap:10px!important;
    align-items:center!important;
    margin-bottom:16px!important;
  }
  #calendar .calendar-head h3{
    min-width:0!important;
    text-align:center!important;
    font-size:24px!important;
    line-height:1.2!important;
    white-space:normal!important;
    overflow:visible!important;
  }
  #calendar .month-nav{
    width:36px!important;
    height:36px!important;
  }
  #calendar .month-tabs{
    grid-column:1 / -1!important;
    display:flex!important;
    justify-content:flex-start!important;
    gap:8px!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
    padding:2px 0 4px!important;
    scrollbar-width:none!important;
  }
  #calendar .month-tabs::-webkit-scrollbar{
    display:none!important;
  }
  #calendar .month-tabs button{
    flex:0 0 auto!important;
    white-space:nowrap!important;
    min-height:34px!important;
    padding:0 13px!important;
    font-size:12px!important;
  }
  #calendar .calendar-scale-wrap{
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    transform:none!important;
    padding-bottom:10px!important;
  }
  #calendar .weekday,
  #calendar .calendar-grid{
    display:grid!important;
    grid-template-columns:repeat(7,72px)!important;
    width:max-content!important;
    min-width:504px!important;
  }
  #calendar .weekday span{
    width:72px!important;
    box-sizing:border-box!important;
    text-align:center!important;
    font-size:10px!important;
    letter-spacing:.08em!important;
    padding-bottom:8px!important;
  }
  #calendar .day-cell{
    width:72px!important;
    height:72px!important;
    min-width:72px!important;
    box-sizing:border-box!important;
    margin:-1px 0 0 -1px!important;
    padding:0!important;
    overflow:hidden!important;
  }
  #calendar .day-cell button{
    padding:10px 8px!important;
    gap:0!important;
  }
  #calendar .day-num{
    font-size:16px!important;
    line-height:1!important;
  }
  #calendar .day-event{
    display:none!important;
  }
  #calendar .day-cell.has-event button:before{
    right:8px!important;
    top:8px!important;
    font-size:9px!important;
  }
  #calendar .day-cell.has-event button:after{
    bottom:10px!important;
    width:5px!important;
    height:5px!important;
  }
  #calendar .calendar-detail{
    display:block!important;
    margin-top:18px!important;
    padding:20px 16px!important;
    border-radius:20px!important;
    min-height:0!important;
  }
  #calendar .calendar-detail-head h3{
    font-size:25px!important;
    line-height:1.35!important;
    margin:10px 0 12px!important;
  }
  #calendar .calendar-detail p{
    font-size:14px!important;
    line-height:1.75!important;
  }
  #calendar .calendar-gift-list,
  #calendar .calendar-gift-scroll{
    display:flex!important;
    grid-template-columns:none!important;
    gap:12px!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
    scroll-snap-type:x mandatory!important;
    padding:2px 2px 12px!important;
    margin-top:18px!important;
  }
  #calendar .calendar-gift-card{
    flex:0 0 220px!important;
    width:220px!important;
    min-width:220px!important;
    scroll-snap-align:start!important;
  }
  #calendar .calendar-gift-card img{
    height:132px!important;
  }

  /* VIDEO SERIES / INTERVIEW周り：英字ラベルが切れないように調整 */
  main section:not(.hero-making) .interview-issue{
    padding:56px 18px 52px!important;
    overflow:hidden!important;
  }
  .interview-issue-head{
    display:block!important;
    margin-bottom:28px!important;
  }
  .interview-issue .eyebrow,
  .interview-media-label,
  .episode-tag,
  .next-card-top span,
  .next-guest span,
  .article-page-header p,
  .interview-article-copy .eyebrow{
    max-width:100%!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    word-break:normal!important;
    overflow-wrap:anywhere!important;
    letter-spacing:.10em!important;
    line-height:1.5!important;
  }
  .interview-issue-head h2{
    font-size:36px!important;
    line-height:1.28!important;
    word-break:keep-all!important;
    overflow-wrap:anywhere!important;
  }
  .interview-issue-lead{
    max-width:none!important;
    margin-top:16px!important;
    font-size:14px!important;
    line-height:1.8!important;
  }
  .interview-feature-layout{
    display:block!important;
  }
  .interview-feature-card{
    width:100%!important;
    min-width:0!important;
    margin-bottom:18px!important;
  }
  .interview-feature-media{
    aspect-ratio:16 / 10!important;
  }
  .interview-media-label{
    left:14px!important;
    top:14px!important;
    right:14px!important;
    width:auto!important;
    display:inline-block!important;
    max-width:calc(100% - 28px)!important;
    padding:8px 10px!important;
    font-size:10px!important;
  }
  .interview-feature-copy{
    display:block!important;
    padding:22px 18px 24px!important;
  }
  .interview-feature-copy h3{
    font-size:27px!important;
    line-height:1.35!important;
  }
  .feature-detail{
    margin-top:18px!important;
  }
  .interview-next-card{
    width:100%!important;
    margin-top:18px!important;
  }

  /* 記事一覧ページ：スマホではもっと見るを記事カードの下へ */
  .article-index-final-main .journal-final-carousel-section{
    display:flex!important;
    flex-direction:column!important;
    gap:14px!important;
  }
  .article-index-final-main .journal-final-carousel-section .journal-final-head{
    display:contents!important;
  }
  .article-index-final-main .journal-final-carousel-section .journal-final-head > div{
    order:1!important;
    margin-bottom:2px!important;
  }
  .article-index-final-main .journal-final-carousel-section .journal-horizontal-rail{
    order:2!important;
  }
  .article-index-final-main .journal-final-carousel-section .journal-more-button{
    order:3!important;
    align-self:center!important;
    width:min(320px,100%)!important;
    min-height:46px!important;
    margin:4px auto 0!important;
  }

  /* タレントインタビュー一覧：スマホで必ず表示し、横スクロールで見せる */
  .article-index-final-main .talent-feature-clean{
    display:flex!important;
    flex-direction:column!important;
    visibility:visible!important;
    opacity:1!important;
    width:auto!important;
    max-width:none!important;
    margin:54px 18px 0!important;
    padding:0!important;
    overflow:visible!important;
  }
  .article-index-final-main .talent-feature-head{
    display:contents!important;
  }
  .article-index-final-main .talent-feature-head > div{
    order:1!important;
    margin-bottom:16px!important;
  }
  .article-index-final-main .talent-feature-head h2{
    font-size:34px!important;
    line-height:1.18!important;
  }
  .article-index-final-main .talent-feature-row{
    order:2!important;
    display:flex!important;
    grid-template-columns:none!important;
    gap:14px!important;
    width:100%!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    -webkit-overflow-scrolling:touch!important;
    scroll-snap-type:x mandatory!important;
    padding:2px 2px 16px!important;
  }
  .article-index-final-main .talent-feature-card,
  .article-index-final-main .talent-feature-card.is-main{
    display:block!important;
    flex:0 0 82vw!important;
    width:82vw!important;
    min-width:82vw!important;
    height:380px!important;
    min-height:380px!important;
    scroll-snap-align:start!important;
    visibility:visible!important;
    opacity:1!important;
  }
  .article-index-final-main .talent-feature-card span{
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    letter-spacing:.08em!important;
    line-height:1.45!important;
  }
  .article-index-final-main .talent-expand-button{
    order:3!important;
    align-self:center!important;
    width:min(320px,100%)!important;
    margin:2px auto 0!important;
  }
  .article-index-final-main #talentMorePanel{
    order:4!important;
    width:100%!important;
  }
  .article-index-final-main .talent-more-grid.talent-more-scroll{
    display:flex!important;
    overflow-x:auto!important;
    gap:14px!important;
  }
  .article-index-final-main .talent-more-grid.talent-more-scroll a{
    flex:0 0 82vw!important;
    width:82vw!important;
    min-width:82vw!important;
  }
}


/* =========================================================
   ROUND 27 : remove latest label / mobile calendar event names
   TOP untouched.
   ========================================================= */

/* LATEST EPISODE label area is removed in HTML; keep class hidden just in case */
.interview-media-label{
  display:none!important;
}

/* Mobile calendar: no meaningless dots/circles, show event names like desktop */
@media(max-width:900px){
  #calendar .day-cell{
    width:82px!important;
    min-width:82px!important;
    height:92px!important;
    min-height:92px!important;
    overflow:hidden!important;
  }
  #calendar .weekday,
  #calendar .calendar-grid{
    grid-template-columns:repeat(7,82px)!important;
    min-width:574px!important;
  }
  #calendar .weekday span{
    width:82px!important;
  }
  #calendar .day-cell button{
    padding:10px 8px!important;
    gap:7px!important;
  }
  #calendar .day-cell.has-event button:before,
  #calendar .day-cell.has-event button:after,
  #calendar .day-cell.featured button:before,
  #calendar .day-cell.featured button:after,
  #calendar .day-cell.has-event::before,
  #calendar .day-cell.has-event::after,
  #calendar .day-cell.featured::before,
  #calendar .day-cell.featured::after{
    display:none!important;
    content:none!important;
  }
  #calendar .day-event{
    display:block!important;
    max-width:100%!important;
    color:#5e554c!important;
    font-size:10px!important;
    line-height:1.28!important;
    letter-spacing:0!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    word-break:keep-all!important;
    overflow-wrap:anywhere!important;
  }
  #calendar .day-cell.has-event .day-event{
    color:#7b4f34!important;
  }
  #calendar .day-cell.active .day-event{
    color:#fff8ef!important;
  }
  #calendar .day-cell.active{
    transform:none!important;
  }
}


/* =========================================================
   ROUND 28 : mobile calendar fits screen / horizontal event text
   TOP untouched.
   ========================================================= */

@media(max-width:900px){
  #calendar.calendar-section{
    display:block!important;
    width:auto!important;
    max-width:100%!important;
    padding:42px 12px!important;
    overflow:hidden!important;
  }

  #calendar .calendar-board{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    padding:16px 10px 18px!important;
    border-radius:20px!important;
    overflow:hidden!important;
  }

  #calendar .calendar-scale-wrap{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:visible!important;
    transform:none!important;
    padding-bottom:0!important;
  }

  #calendar .weekday,
  #calendar .calendar-grid{
    display:grid!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }

  #calendar .weekday span{
    width:auto!important;
    min-width:0!important;
    box-sizing:border-box!important;
    text-align:center!important;
    font-size:9px!important;
    letter-spacing:.02em!important;
    padding:0 0 6px!important;
  }

  #calendar .day-cell{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:64px!important;
    min-height:64px!important;
    box-sizing:border-box!important;
    margin:-1px 0 0 -1px!important;
    padding:0!important;
    overflow:hidden!important;
  }

  #calendar .day-cell button{
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    width:100%!important;
    height:100%!important;
    padding:8px 3px 5px!important;
    gap:5px!important;
    text-align:left!important;
  }

  #calendar .day-num{
    display:block!important;
    width:100%!important;
    font-size:15px!important;
    line-height:1!important;
    letter-spacing:0!important;
    color:#2d2924!important;
  }

  #calendar .day-event{
    display:block!important;
    width:142%!important;
    max-width:none!important;
    color:#5e554c!important;
    font-size:8px!important;
    line-height:1.15!important;
    letter-spacing:-.08em!important;
    white-space:nowrap!important;
    writing-mode:horizontal-tb!important;
    text-orientation:mixed!important;
    transform:scale(.72)!important;
    transform-origin:left top!important;
    overflow:visible!important;
    text-overflow:clip!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
  }

  #calendar .day-cell.has-event .day-event{
    color:#7b4f34!important;
  }

  #calendar .day-cell.active .day-num,
  #calendar .day-cell.active .day-event{
    color:#fff8ef!important;
  }

  #calendar .day-cell.has-event button:before,
  #calendar .day-cell.has-event button:after,
  #calendar .day-cell.featured button:before,
  #calendar .day-cell.featured button:after,
  #calendar .day-cell.has-event::before,
  #calendar .day-cell.has-event::after,
  #calendar .day-cell.featured::before,
  #calendar .day-cell.featured::after{
    display:none!important;
    content:none!important;
  }

  #calendar .day-cell.active{
    transform:none!important;
    box-shadow:none!important;
  }

  #calendar .calendar-head{
    grid-template-columns:34px minmax(0,1fr) 34px!important;
    gap:8px!important;
  }

  #calendar .calendar-head h3{
    font-size:22px!important;
    line-height:1.2!important;
    text-align:center!important;
  }

  #calendar .month-tabs{
    max-width:100%!important;
    overflow-x:auto!important;
  }
}

@media(max-width:390px){
  #calendar.calendar-section{
    padding-left:10px!important;
    padding-right:10px!important;
  }
  #calendar .calendar-board{
    padding-left:8px!important;
    padding-right:8px!important;
  }
  #calendar .day-cell{
    height:62px!important;
    min-height:62px!important;
  }
  #calendar .day-cell button{
    padding-left:2px!important;
    padding-right:2px!important;
  }
  #calendar .day-num{
    font-size:14px!important;
  }
  #calendar .day-event{
    font-size:7.5px!important;
    transform:scale(.68)!important;
    width:152%!important;
  }
}


/* =========================================================
   ROUND 29 : user-like mobile calendar / no circles / readable labels
   TOP untouched.
   ========================================================= */

@media(max-width:900px){

  /* スマホで横スクロールさせず、画面内に7列を収める */
  #calendar.calendar-section{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    box-sizing:border-box!important;
    padding:42px 12px!important;
    overflow:hidden!important;
  }

  #calendar .calendar-intro{
    position:static!important;
    width:auto!important;
    flex:none!important;
    margin:0 0 20px!important;
  }

  #calendar .calendar-board{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    padding:16px 10px 18px!important;
    border-radius:20px!important;
    overflow:hidden!important;
  }

  #calendar .calendar-head{
    display:grid!important;
    grid-template-columns:34px minmax(0,1fr) 34px!important;
    gap:8px!important;
    align-items:center!important;
    margin-bottom:14px!important;
  }

  #calendar .calendar-head h3{
    font-size:22px!important;
    line-height:1.2!important;
    text-align:center!important;
    white-space:normal!important;
    overflow:visible!important;
  }

  #calendar .month-tabs{
    grid-column:1 / -1!important;
    max-width:100%!important;
    display:flex!important;
    gap:8px!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
    padding-bottom:4px!important;
    scrollbar-width:none!important;
  }

  #calendar .month-tabs::-webkit-scrollbar{
    display:none!important;
  }

  #calendar .calendar-scale-wrap,
  #calendar .calendar-scale-wrap.is-month-view,
  #calendar .calendar-scale-wrap:not(.is-week-view){
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:visible!important;
    transform:none!important;
    padding:0!important;
  }

  #calendar .weekday,
  #calendar .calendar-grid,
  #calendar .calendar-scale-wrap.is-month-view .weekday,
  #calendar .calendar-scale-wrap.is-month-view .calendar-grid,
  #calendar .calendar-scale-wrap:not(.is-week-view) .weekday,
  #calendar .calendar-scale-wrap:not(.is-week-view) .calendar-grid{
    display:grid!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    gap:0!important;
  }

  #calendar .weekday span{
    width:auto!important;
    min-width:0!important;
    text-align:center!important;
    font-size:10px!important;
    line-height:1.2!important;
    letter-spacing:0!important;
    padding:0 0 7px!important;
    color:#867c72!important;
  }

  /* 丸い装飾の原因になっている全疑似要素を完全停止 */
  #calendar .day-cell::before,
  #calendar .day-cell::after,
  #calendar .day-cell button::before,
  #calendar .day-cell button::after,
  #calendar .day-spark,
  #calendar .week-gift-thumb,
  #calendar .week-gift-name{
    display:none!important;
    content:none!important;
    opacity:0!important;
    visibility:hidden!important;
  }

  #calendar .day-cell,
  #calendar .calendar-scale-wrap.is-month-view .day-cell,
  #calendar .calendar-scale-wrap:not(.is-week-view) .day-cell{
    position:relative!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    height:60px!important;
    min-height:60px!important;
    box-sizing:border-box!important;
    margin:-1px 0 0 -1px!important;
    padding:0!important;
    overflow:hidden!important;
    border:1px solid #ded3c7!important;
    border-radius:0!important;
    background:#fffdf9!important;
    box-shadow:none!important;
    transform:none!important;
  }

  #calendar .day-cell.featured,
  #calendar .day-cell.has-event.featured{
    background:#fbf2e9!important;
  }

  #calendar .day-cell.active{
    background:#171411!important;
    border-color:#171411!important;
    box-shadow:none!important;
    transform:none!important;
  }

  #calendar .day-cell button,
  #calendar .calendar-scale-wrap.is-month-view .day-cell button,
  #calendar .calendar-scale-wrap:not(.is-week-view) .day-cell button{
    display:block!important;
    width:100%!important;
    height:100%!important;
    box-sizing:border-box!important;
    padding:7px 3px 5px!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    box-shadow:none!important;
    text-align:left!important;
    overflow:hidden!important;
  }

  #calendar .day-num,
  #calendar .calendar-scale-wrap.is-month-view .day-num,
  #calendar .calendar-scale-wrap:not(.is-week-view) .day-num{
    display:block!important;
    width:100%!important;
    margin:0 0 5px!important;
    color:#2d2924!important;
    font-size:14px!important;
    line-height:1!important;
    letter-spacing:0!important;
    text-align:left!important;
  }

  #calendar .day-event,
  #calendar .calendar-scale-wrap.is-month-view .day-event,
  #calendar .calendar-scale-wrap:not(.is-week-view) .day-event{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    color:#5e554c!important;
    font-size:8.5px!important;
    line-height:1.15!important;
    letter-spacing:-.09em!important;
    white-space:nowrap!important;
    writing-mode:horizontal-tb!important;
    text-orientation:mixed!important;
    transform:none!important;
    overflow:hidden!important;
    text-overflow:clip!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
    text-align:left!important;
  }

  #calendar .day-cell.has-event .day-num,
  #calendar .day-cell.has-event .day-event{
    color:#7b4f34!important;
  }

  #calendar .day-cell.active .day-num,
  #calendar .day-cell.active .day-event{
    color:#fff8ef!important;
  }

  #calendar .calendar-detail{
    display:block!important;
    margin-top:18px!important;
    padding:20px 16px!important;
    border-radius:20px!important;
    min-height:0!important;
  }

  #calendar .calendar-detail-head h3{
    font-size:25px!important;
    line-height:1.35!important;
    margin:10px 0 12px!important;
  }

  #calendar .calendar-detail p{
    font-size:14px!important;
    line-height:1.75!important;
  }
}

@media(max-width:390px){
  #calendar.calendar-section{
    padding-left:10px!important;
    padding-right:10px!important;
  }

  #calendar .calendar-board{
    padding-left:8px!important;
    padding-right:8px!important;
  }

  #calendar .day-cell,
  #calendar .calendar-scale-wrap.is-month-view .day-cell,
  #calendar .calendar-scale-wrap:not(.is-week-view) .day-cell{
    height:58px!important;
    min-height:58px!important;
  }

  #calendar .day-cell button{
    padding-left:2px!important;
    padding-right:2px!important;
  }

  #calendar .day-num{
    font-size:13px!important;
    margin-bottom:5px!important;
  }

  #calendar .day-event{
    font-size:7.8px!important;
    letter-spacing:-.11em!important;
  }
}


/* =========================================================
   ROUND 30 : completely remove mobile calendar oval decoration
   TOP untouched.
   ========================================================= */

@media(max-width:900px){

  /* 古いカレンダー装飾の円・楕円・スタンプ系を全停止 */
  #calendar .calendar-grid .day-cell::before,
  #calendar .calendar-grid .day-cell::after,
  #calendar .calendar-grid .day-cell.has-event::before,
  #calendar .calendar-grid .day-cell.has-event::after,
  #calendar .calendar-grid .day-cell.featured::before,
  #calendar .calendar-grid .day-cell.featured::after,
  #calendar .calendar-grid .day-cell.active::before,
  #calendar .calendar-grid .day-cell.active::after,
  #calendar .calendar-grid .day-cell button::before,
  #calendar .calendar-grid .day-cell button::after,
  #calendar .calendar-grid .day-cell.has-event button::before,
  #calendar .calendar-grid .day-cell.has-event button::after,
  #calendar .calendar-grid .day-cell.featured button::before,
  #calendar .calendar-grid .day-cell.featured button::after,
  #calendar .calendar-grid .day-cell.active button::before,
  #calendar .calendar-grid .day-cell.active button::after,
  #calendar .day-spark,
  #calendar .week-gift-thumb,
  #calendar .week-gift-name{
    content:none!important;
    display:none!important;
    width:0!important;
    height:0!important;
    min-width:0!important;
    min-height:0!important;
    max-width:0!important;
    max-height:0!important;
    border:0!important;
    border-radius:0!important;
    background:none!important;
    box-shadow:none!important;
    opacity:0!important;
    visibility:hidden!important;
    transform:none!important;
  }

  /* セル本体・ボタンにも丸角を残さない */
  #calendar .calendar-grid .day-cell,
  #calendar .calendar-grid .day-cell.has-event,
  #calendar .calendar-grid .day-cell.featured,
  #calendar .calendar-grid .day-cell.active,
  #calendar .calendar-grid .day-cell button{
    border-radius:0!important;
    background-clip:border-box!important;
    box-shadow:none!important;
    outline:none!important;
  }

  /* 記念日名を数字の下に横書きで読みやすく */
  #calendar .calendar-grid .day-cell button{
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    align-items:flex-start!important;
    padding:7px 3px 5px!important;
    gap:4px!important;
  }

  #calendar .calendar-grid .day-num{
    position:static!important;
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
    font-size:14px!important;
    line-height:1!important;
    text-align:left!important;
  }

  #calendar .calendar-grid .day-event{
    position:static!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    font-size:8.5px!important;
    line-height:1.12!important;
    letter-spacing:-.08em!important;
    white-space:nowrap!important;
    writing-mode:horizontal-tb!important;
    text-orientation:mixed!important;
    transform:none!important;
    overflow:hidden!important;
    text-overflow:clip!important;
    word-break:keep-all!important;
  }
}


/* =========================================================
   ROUND 31 : hard reset mobile calendar circles
   TOP untouched.
   ========================================================= */

@media(max-width:900px){

  /* カレンダーセル内の円・楕円・pill・装飾背景を全削除 */
  #calendar .calendar-grid,
  #calendar .calendar-grid *{
    background-image:none!important;
  }

  #calendar .calendar-grid .day-cell,
  #calendar .calendar-grid .day-cell *,
  #calendar .calendar-grid .day-cell button,
  #calendar .calendar-grid .day-cell span,
  #calendar .calendar-grid .day-num,
  #calendar .calendar-grid .day-event{
    border-radius:0!important;
    box-shadow:none!important;
    outline:none!important;
    background-image:none!important;
  }

  #calendar .calendar-grid .day-cell button,
  #calendar .calendar-grid .day-cell.has-event button,
  #calendar .calendar-grid .day-cell.featured button,
  #calendar .calendar-grid .day-cell.active button,
  #calendar .calendar-scale-wrap.is-month-view .day-cell button,
  #calendar .calendar-scale-wrap:not(.is-week-view) .day-cell button{
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    width:100%!important;
    height:100%!important;
    padding:7px 3px 5px!important;
    gap:4px!important;
    border:0!important;
    border-radius:0!important;
    background:none!important;
    background-color:transparent!important;
    background-image:none!important;
    box-shadow:none!important;
    outline:none!important;
    overflow:hidden!important;
    appearance:none!important;
    -webkit-appearance:none!important;
  }

  #calendar .calendar-grid .day-cell::before,
  #calendar .calendar-grid .day-cell::after,
  #calendar .calendar-grid .day-cell button::before,
  #calendar .calendar-grid .day-cell button::after,
  #calendar .calendar-grid .day-num::before,
  #calendar .calendar-grid .day-num::after,
  #calendar .calendar-grid .day-event::before,
  #calendar .calendar-grid .day-event::after{
    content:""!important;
    display:none!important;
    position:static!important;
    width:0!important;
    height:0!important;
    min-width:0!important;
    min-height:0!important;
    max-width:0!important;
    max-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:none!important;
    background-color:transparent!important;
    background-image:none!important;
    box-shadow:none!important;
    opacity:0!important;
    visibility:hidden!important;
    transform:none!important;
  }

  /* セルは四角のまま、背景色だけで状態を見せる */
  #calendar .calendar-grid .day-cell{
    background:#fffdf9!important;
    border:1px solid #ded3c7!important;
  }

  #calendar .calendar-grid .day-cell.has-event,
  #calendar .calendar-grid .day-cell.featured,
  #calendar .calendar-grid .day-cell.has-event.featured{
    background:#fbf2e9!important;
  }

  #calendar .calendar-grid .day-cell.active{
    background:#171411!important;
    border-color:#171411!important;
  }

  #calendar .calendar-grid .day-num{
    position:static!important;
    display:block!important;
    width:100%!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:none!important;
    color:#2d2924!important;
    font-size:14px!important;
    line-height:1!important;
    text-align:left!important;
    letter-spacing:0!important;
  }

  #calendar .calendar-grid .day-event{
    position:static!important;
    display:block!important;
    width:100%!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:none!important;
    color:#5e554c!important;
    font-size:8.3px!important;
    line-height:1.12!important;
    letter-spacing:-.09em!important;
    text-align:left!important;
    white-space:nowrap!important;
    writing-mode:horizontal-tb!important;
    text-orientation:mixed!important;
    transform:none!important;
    overflow:hidden!important;
    text-overflow:clip!important;
    word-break:keep-all!important;
  }

  #calendar .calendar-grid .day-cell.has-event .day-num,
  #calendar .calendar-grid .day-cell.has-event .day-event{
    color:#7b4f34!important;
  }

  #calendar .calendar-grid .day-cell.active .day-num,
  #calendar .calendar-grid .day-cell.active .day-event{
    color:#fff8ef!important;
  }
}


/* =========================================================
   ROUND 32 : TOP page media/product structure update
   TOP hero untouched.
   ========================================================= */

/* Search order and role clarity */
.axis-search-form-v2{
  grid-template-columns:1.05fr 1fr 1fr 1.2fr minmax(330px,1.8fr) 150px!important;
  align-items:end!important;
}
.axis-search-form-v2 .axis-scene{
  order:1!important;
}
.axis-search-form-v2 label:not(.axis-scene):not(.axis-freeword){
  order:2!important;
}
.axis-search-form-v2 .axis-freeword{
  order:5!important;
}
.axis-search-form-v2 .axis-search-submit{
  order:6!important;
}
.axis-freeword input{
  white-space:nowrap!important;
  text-overflow:clip!important;
  font-size:14px!important;
}

/* Giftween PICKS */
.giftween-picks-section{
  width:min(1180px,calc(100% - 72px))!important;
  margin:0 auto 58px!important;
  padding:34px 0 0!important;
}
.giftween-picks-head{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  gap:28px!important;
  margin-bottom:22px!important;
}
.giftween-picks-head h2{
  margin:8px 0 0!important;
  color:#17130f!important;
  font-family:'Playfair Display',Georgia,serif!important;
  font-size:clamp(34px,4.1vw,58px)!important;
  line-height:1!important;
  letter-spacing:-.04em!important;
  white-space:nowrap!important;
}
.giftween-picks-head > p{
  max-width:430px!important;
  margin:0 0 6px!important;
  color:#665d55!important;
  font-size:14px!important;
  line-height:1.8!important;
}
.giftween-picks-row{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
}
.giftween-pick-card{
  overflow:hidden!important;
  border:1px solid rgba(205,190,174,.88)!important;
  border-radius:28px!important;
  background:#fffdf9!important;
  box-shadow:0 22px 60px rgba(45,31,17,.08)!important;
  cursor:pointer!important;
  transition:transform .28s ease,box-shadow .28s ease!important;
}
.giftween-pick-card:hover{
  transform:translateY(-6px)!important;
  box-shadow:0 30px 80px rgba(45,31,17,.14)!important;
}
.giftween-pick-image{
  position:relative!important;
  height:250px!important;
  background:#eee5dc!important;
  overflow:hidden!important;
}
.giftween-pick-image img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.giftween-pick-copy{
  padding:22px 22px 24px!important;
}
.giftween-pick-copy span{
  display:block!important;
  margin-bottom:10px!important;
  color:#a66642!important;
  font-size:11px!important;
  letter-spacing:.12em!important;
  white-space:nowrap!important;
}
.giftween-pick-copy h3{
  margin:0 0 10px!important;
  color:#17130f!important;
  font-size:24px!important;
  line-height:1.22!important;
  letter-spacing:-.03em!important;
}
.giftween-pick-copy p{
  margin:0 0 16px!important;
  color:#5f574f!important;
  font-size:14px!important;
  line-height:1.72!important;
}
.giftween-pick-copy dl{
  display:grid!important;
  gap:8px!important;
  margin:0!important;
}
.giftween-pick-copy dl div{
  display:grid!important;
  grid-template-columns:54px 1fr!important;
  gap:10px!important;
  align-items:start!important;
}
.giftween-pick-copy dt{
  color:#a66642!important;
  font-size:11px!important;
  white-space:nowrap!important;
}
.giftween-pick-copy dd{
  margin:0!important;
  color:#17130f!important;
  font-size:13px!important;
  line-height:1.55!important;
}

/* Gift image carousel */
.gift-image-single,
.gift-image-carousel{
  position:relative!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
  background:#eee5dc!important;
}
.gift-image-single img,
.gift-image-carousel img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.gift-image-track{
  position:relative!important;
  width:100%!important;
  height:100%!important;
}
.gift-image-track img{
  position:absolute!important;
  inset:0!important;
  opacity:0!important;
  transform:scale(1.025)!important;
  transition:opacity .55s ease, transform .75s ease!important;
}
.gift-image-track img.is-active{
  opacity:1!important;
  transform:scale(1)!important;
}
.gift-carousel-arrow{
  position:absolute!important;
  top:50%!important;
  z-index:4!important;
  width:34px!important;
  height:34px!important;
  border:1px solid rgba(255,255,255,.55)!important;
  border-radius:50%!important;
  background:rgba(18,14,11,.35)!important;
  color:#fff!important;
  transform:translateY(-50%)!important;
  cursor:pointer!important;
}
.gift-carousel-arrow.prev{left:12px!important;}
.gift-carousel-arrow.next{right:12px!important;}
.gift-carousel-dots{
  position:absolute!important;
  z-index:4!important;
  left:50%!important;
  bottom:12px!important;
  display:flex!important;
  gap:6px!important;
  transform:translateX(-50%)!important;
}
.gift-carousel-dots button{
  width:7px!important;
  height:7px!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.48)!important;
}
.gift-carousel-dots button.active{
  background:#fff!important;
}

/* Giftween PICKS popup */
.giftween-picks-modal-box{
  width:min(980px,calc(100vw - 48px))!important;
  max-height:calc(100vh - 48px)!important;
  overflow:hidden!important;
  border-radius:28px!important;
}
.giftween-pick-detail{
  display:grid!important;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr)!important;
  max-height:calc(100vh - 48px)!important;
  min-height:560px!important;
  background:#fffdf9!important;
}
.giftween-pick-detail-media{
  min-height:560px!important;
  background:#eee5dc!important;
}
.giftween-pick-detail-copy{
  padding:46px 44px!important;
  overflow-y:auto!important;
  max-height:calc(100vh - 48px)!important;
  box-sizing:border-box!important;
}
.giftween-pick-detail-copy .eyebrow{
  margin:0 0 16px!important;
  color:#a66642!important;
  white-space:nowrap!important;
}
.giftween-pick-detail-copy h2{
  margin:0 0 14px!important;
  font-size:42px!important;
  line-height:1.12!important;
  color:#17130f!important;
}
.giftween-pick-lead{
  margin:0 0 24px!important;
  color:#5f574f!important;
  line-height:1.8!important;
}
.giftween-pick-detail-copy dl{
  display:grid!important;
  gap:18px!important;
  margin:0 0 24px!important;
}
.giftween-pick-detail-copy dt{
  margin:0 0 6px!important;
  color:#a66642!important;
  font-size:12px!important;
  letter-spacing:.08em!important;
}
.giftween-pick-detail-copy dd{
  margin:0!important;
  color:#28231f!important;
  font-size:15px!important;
  line-height:1.8!important;
}
.purchase-note{
  margin:16px 0 22px!important;
  color:#776b60!important;
  font-size:12px!important;
  line-height:1.6!important;
}
.giftween-pick-detail-copy a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:44px!important;
  padding:0 20px!important;
  border-radius:999px!important;
  background:#17130f!important;
  color:#fffaf2!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}

/* Product cards information cleanup */
.gift-card-overlay small,
.quick-card-body em,
.quick-card-body b,
.calendar-gift-card em{
  display:block!important;
  margin-top:7px!important;
  color:rgba(255,255,255,.82)!important;
  font-style:normal!important;
  font-size:11px!important;
  line-height:1.45!important;
}
.gift-card-overlay em{
  display:inline-flex!important;
  margin-top:10px!important;
  color:#fffaf2!important;
  font-style:normal!important;
  font-size:12px!important;
}
.daily-item .item-body strong,
.quick-card-body strong{
  display:block!important;
  margin:6px 0!important;
  font-weight:400!important;
}
.daily-item .item-body small{
  display:block!important;
  margin:10px 0 14px!important;
  color:#6d6259!important;
  font-size:12px!important;
  line-height:1.45!important;
}
.calendar-gift-card p{
  margin:7px 0 0!important;
  color:#6d6259!important;
  font-size:12px!important;
  line-height:1.5!important;
}

/* Interview copy and CTA */
.interview-issue-lead{
  word-break:keep-all!important;
  overflow-wrap:anywhere!important;
}
.series-cta{
  min-width:max-content!important;
  white-space:nowrap!important;
  padding-left:22px!important;
  padding-right:22px!important;
}

/* Calendar: remove circles at source appearance level */
.day-cell.has-event::before,
.day-cell.has-event::after,
.day-cell.featured::before,
.day-cell.featured::after,
.day-cell button::before,
.day-cell button::after,
.day-num::before,
.day-num::after,
.day-event::before,
.day-event::after,
.day-spark{
  display:none!important;
  content:none!important;
  background:none!important;
  border:0!important;
  box-shadow:none!important;
}

/* Mobile */
@media(max-width:900px){
  .axis-search-form-v2{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:12px!important;
  }
  .axis-search-form-v2 .axis-freeword{
    grid-column:1 / -1!important;
  }
  .axis-search-form-v2 .axis-search-submit{
    grid-column:1 / -1!important;
  }
  .axis-freeword input{
    font-size:13px!important;
    padding-left:12px!important;
    padding-right:12px!important;
  }
  .axis-freeword input::placeholder{
    font-size:13px!important;
  }

  .giftween-picks-section{
    width:auto!important;
    margin:0 18px 46px!important;
    padding-top:26px!important;
  }
  .giftween-picks-head{
    display:block!important;
    margin-bottom:18px!important;
  }
  .giftween-picks-head h2{
    font-size:36px!important;
    white-space:nowrap!important;
  }
  .giftween-picks-head > p{
    max-width:none!important;
    margin-top:12px!important;
  }
  .giftween-picks-row{
    display:flex!important;
    grid-template-columns:none!important;
    gap:14px!important;
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
    scroll-snap-type:x mandatory!important;
    padding-bottom:12px!important;
  }
  .giftween-pick-card{
    flex:0 0 82vw!important;
    width:82vw!important;
    scroll-snap-align:start!important;
  }
  .giftween-pick-image{
    height:220px!important;
  }
  .giftween-pick-copy{
    padding:20px 18px 22px!important;
  }
  .giftween-pick-copy span{
    white-space:nowrap!important;
  }

  .giftween-picks-modal-box{
    width:calc(100vw - 24px)!important;
    max-height:calc(100vh - 28px)!important;
    overflow:auto!important;
    border-radius:22px!important;
  }
  .giftween-pick-detail{
    display:block!important;
    min-height:0!important;
    max-height:none!important;
  }
  .giftween-pick-detail-media{
    height:310px!important;
    min-height:310px!important;
  }
  .giftween-pick-detail-copy{
    max-height:none!important;
    overflow:visible!important;
    padding:28px 22px 30px!important;
  }
  .giftween-pick-detail-copy .eyebrow{
    white-space:nowrap!important;
    font-size:11px!important;
  }
  .giftween-pick-detail-copy h2{
    font-size:30px!important;
    line-height:1.25!important;
  }
  .giftween-pick-detail-copy dt{
    white-space:normal!important;
    line-height:1.45!important;
  }
  .giftween-pick-detail-copy a{
    width:100%!important;
    box-sizing:border-box!important;
  }
  .gift-carousel-arrow{
    display:none!important;
  }

  .series-cta{
    width:100%!important;
    max-width:320px!important;
    white-space:nowrap!important;
    font-size:13px!important;
  }

  /* Calendar mobile square and readable, no circles */
  #calendar .calendar-grid{
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
  }
  #calendar .day-cell,
  #calendar .day-cell.has-label,
  #calendar .day-cell.random-event{
    height:62px!important;
    border-radius:0!important;
    box-shadow:none!important;
    overflow:hidden!important;
  }
  #calendar .day-cell button{
    border-radius:0!important;
    box-shadow:none!important;
    background:transparent!important;
    padding:7px 3px 5px!important;
  }
  #calendar .day-event{
    display:block!important;
    font-size:8.2px!important;
    line-height:1.12!important;
    letter-spacing:-.1em!important;
    white-space:nowrap!important;
    writing-mode:horizontal-tb!important;
    transform:none!important;
    overflow:hidden!important;
    text-overflow:clip!important;
  }
}

@media(max-width:390px){
  .axis-freeword input::placeholder{
    font-size:12px!important;
  }
  #calendar .day-event{
    font-size:7.6px!important;
    letter-spacing:-.12em!important;
  }
}


/* Article product image carousel */
.article-product-carousel{
  position:relative!important;
  overflow:hidden!important;
  background:#eee5dc!important;
}
.article-product-carousel-track{
  position:relative!important;
  width:100%!important;
  height:100%!important;
  min-height:260px!important;
}
.article-product-carousel-track img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  opacity:0!important;
  transition:opacity .55s ease, transform .75s ease!important;
  transform:scale(1.025)!important;
}
.article-product-carousel-track img.is-active{
  opacity:1!important;
  transform:scale(1)!important;
}
.article-product-carousel-dots{
  position:absolute!important;
  left:50%!important;
  bottom:12px!important;
  z-index:3!important;
  display:flex!important;
  gap:6px!important;
  transform:translateX(-50%)!important;
}
.article-product-carousel-dots button{
  width:7px!important;
  height:7px!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.52)!important;
}
.article-product-carousel-dots button.active{
  background:#fff!important;
}


/* =========================================================
   ROUND 33 : restore disappeared sections / creator pick / image sizing
   TOP hero untouched.
   ========================================================= */

/* Rendered carousel dimensions inside existing cards */
.daily-item > .gift-image-single,
.daily-item > .gift-image-carousel{
  width:100%!important;
  height:178px!important;
  flex:0 0 auto!important;
}
.gift-card > .gift-image-single,
.gift-card > .gift-image-carousel{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  z-index:0!important;
}
.quick-gift-card > .gift-image-single,
.quick-gift-card > .gift-image-carousel{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  z-index:0!important;
}
.ranking-detail-image .gift-image-single,
.ranking-detail-image .gift-image-carousel,
.quick-gift-detail-media .gift-image-single,
.quick-gift-detail-media .gift-image-carousel,
.calendar-pop-media .gift-image-single,
.calendar-pop-media .gift-image-carousel{
  width:100%!important;
  height:100%!important;
  min-height:360px!important;
}
.daily-item,
.gift-card,
.quick-gift-card{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
.product-showcase.is-visible,
.quick-layout,
.slider-track{
  visibility:visible!important;
}
.gift-card-overlay,
.quick-card-body{
  position:absolute!important;
  z-index:3!important;
}
.gift-card::after,
.quick-gift-card::after{
  z-index:1!important;
}
.gift-card-overlay small,
.quick-card-body em,
.quick-card-body b{
  display:block!important;
  color:rgba(255,255,255,.86)!important;
  line-height:1.45!important;
  font-size:11px!important;
  font-style:normal!important;
}
.quick-card-body b{
  font-weight:400!important;
}
.quick-card-body span,
.gift-card-overlay em{
  white-space:nowrap!important;
}

/* Calendar detail restored */
#calendar .calendar-detail{
  display:grid!important;
  grid-template-columns:1fr 1.15fr!important;
  gap:28px!important;
  margin-top:26px!important;
  visibility:visible!important;
  opacity:1!important;
}
#calendar .calendar-detail:empty{
  display:none!important;
}
.calendar-gift-card div{
  display:block!important;
}
.calendar-gift-card h4{
  margin:0 0 6px!important;
  font-size:16px!important;
  line-height:1.35!important;
}
.calendar-gift-card span{
  display:block!important;
  color:#17130f!important;
  font-size:13px!important;
  margin-bottom:6px!important;
}
.calendar-gift-card p{
  display:block!important;
  color:#625a52!important;
  font-size:12px!important;
  line-height:1.5!important;
  margin:0 0 8px!important;
}
.calendar-gift-card em{
  display:block!important;
  color:#8b5e3c!important;
  font-size:11px!important;
  line-height:1.45!important;
  font-style:normal!important;
  margin:0 0 8px!important;
}
.calendar-gift-card small{
  display:inline-flex!important;
  color:#17130f!important;
  font-size:12px!important;
}

/* Article product image sizing fix */
.article-product-feature{
  align-items:stretch!important;
}
.article-product-image,
.article-product-carousel{
  width:100%!important;
  height:100%!important;
  min-height:320px!important;
}
.article-product-image img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.article-product-carousel-track{
  min-height:320px!important;
  height:100%!important;
}

/* Articles page creator pick */
.creator-pick-section{
  max-width:1180px!important;
  margin:54px auto 72px!important;
  padding:0!important;
}
.creator-pick-head{
  display:flex!important;
  align-items:flex-end!important;
  justify-content:space-between!important;
  margin-bottom:22px!important;
}
.creator-pick-head h2{
  margin:8px 0 0!important;
  color:#17130f!important;
  font-family:'Playfair Display',Georgia,serif!important;
  font-size:clamp(34px,4vw,56px)!important;
  line-height:1.05!important;
  letter-spacing:-.04em!important;
}
.creator-pick-row{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
}
.creator-pick-card{
  position:relative!important;
  display:block!important;
  height:390px!important;
  border-radius:30px!important;
  overflow:hidden!important;
  background:#111!important;
  color:#fff!important;
  text-decoration:none!important;
  box-shadow:0 24px 70px rgba(23,19,15,.16)!important;
}
.creator-pick-card img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  filter:saturate(.86) contrast(.98) brightness(.78)!important;
  transition:transform .5s ease!important;
}
.creator-pick-card:hover img{
  transform:scale(1.05)!important;
}
.creator-pick-card::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:linear-gradient(180deg,rgba(0,0,0,.04) 0%,rgba(0,0,0,.74) 100%)!important;
}
.creator-pick-card div{
  position:absolute!important;
  z-index:2!important;
  left:24px!important;
  right:24px!important;
  bottom:24px!important;
}
.creator-pick-card span{
  display:block!important;
  margin-bottom:10px!important;
  color:#d6b36a!important;
  font-size:11px!important;
  letter-spacing:.14em!important;
  white-space:nowrap!important;
}
.creator-pick-card h3{
  margin:0 0 10px!important;
  color:#fffaf2!important;
  font-size:26px!important;
  line-height:1.22!important;
}
.creator-pick-card p{
  margin:0!important;
  color:rgba(255,255,255,.84)!important;
  font-size:14px!important;
  line-height:1.65!important;
}

/* No price/place inside creator pick */
.creator-pick-card dl,
.creator-pick-card strong,
.creator-pick-card small,
.creator-pick-card em{
  display:none!important;
}

@media(max-width:900px){
  .daily-item > .gift-image-single,
  .daily-item > .gift-image-carousel{
    height:170px!important;
  }
  #calendar .calendar-detail{
    display:block!important;
  }
  .calendar-gift-scroll{
    display:flex!important;
    overflow-x:auto!important;
    gap:12px!important;
    padding-bottom:12px!important;
  }
  .calendar-gift-card{
    flex:0 0 220px!important;
    width:220px!important;
  }
  .article-product-image,
  .article-product-carousel,
  .article-product-carousel-track{
    min-height:260px!important;
    height:260px!important;
  }
  .creator-pick-section{
    margin:46px 18px 58px!important;
  }
  .creator-pick-row{
    display:flex!important;
    grid-template-columns:none!important;
    gap:14px!important;
    overflow-x:auto!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
    padding-bottom:14px!important;
  }
  .creator-pick-card{
    flex:0 0 82vw!important;
    width:82vw!important;
    height:360px!important;
    scroll-snap-align:start!important;
  }
}


/* =========================================================
   ROUND 35 : fix PICK image/card / remove carousel arrows / restore calendar info
   TOP hero untouched.
   ========================================================= */

/* Remove carousel circle arrows globally */
.gift-carousel-arrow,
.gift-image-carousel .gift-carousel-arrow,
[data-carousel-prev],
[data-carousel-next]{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* Remove black gaps in PICK popup image area */
.giftween-picks-modal-box,
.giftween-pick-detail,
.giftween-pick-detail-media,
.giftween-pick-detail-media .gift-image-single,
.giftween-pick-detail-media .gift-image-carousel,
.giftween-pick-detail-media .gift-image-track{
  background:#efe5d8!important;
}
.giftween-pick-detail-media{
  position:relative!important;
  overflow:hidden!important;
}
.giftween-pick-detail-media .gift-image-single,
.giftween-pick-detail-media .gift-image-carousel,
.giftween-pick-detail-media .gift-image-track{
  position:relative!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  display:block!important;
  overflow:hidden!important;
}
.giftween-pick-detail-media .gift-image-track img,
.giftween-pick-detail-media .gift-image-single img,
.giftween-pick-detail-media .gift-image-carousel img{
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
  background:#efe5d8!important;
}

/* TOP Giftween PICKS card: full image overlay, no white lower area */
.giftween-pick-card{
  position:relative!important;
  display:block!important;
  height:390px!important;
  min-height:390px!important;
  padding:0!important;
  border-radius:30px!important;
  overflow:hidden!important;
  background:#111!important;
  color:#fff!important;
}
.giftween-pick-card::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:
    radial-gradient(circle at 18% 78%,rgba(214,179,106,.24),transparent 32%),
    linear-gradient(180deg,rgba(0,0,0,.04) 0%,rgba(0,0,0,.76) 100%)!important;
  pointer-events:none!important;
}
.giftween-pick-image{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  background:#111!important;
  z-index:0!important;
}
.giftween-pick-image .gift-image-single,
.giftween-pick-image .gift-image-carousel,
.giftween-pick-image .gift-image-track,
.giftween-pick-image img{
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
}
.giftween-pick-image img{
  object-fit:cover!important;
  object-position:center!important;
  filter:saturate(.9) contrast(.98) brightness(.82)!important;
}
.giftween-pick-copy{
  position:absolute!important;
  left:24px!important;
  right:24px!important;
  bottom:24px!important;
  z-index:2!important;
  padding:0!important;
  color:#fff!important;
  background:transparent!important;
}
.giftween-pick-copy span{
  color:#d6b36a!important;
  white-space:nowrap!important;
}
.giftween-pick-copy h3{
  color:#fffaf2!important;
  font-size:26px!important;
  line-height:1.22!important;
  text-shadow:0 8px 24px rgba(0,0,0,.38)!important;
}
.giftween-pick-copy p{
  color:rgba(255,255,255,.86)!important;
  margin-bottom:0!important;
}
.giftween-pick-copy dl,
.giftween-pick-copy dt,
.giftween-pick-copy dd{
  display:none!important;
}
.giftween-picks-more{
  display:flex!important;
  justify-content:center!important;
  margin-top:22px!important;
}
.giftween-picks-more a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:46px!important;
  padding:0 26px!important;
  border-radius:999px!important;
  background:#17130f!important;
  color:#fffaf2!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  font-size:13px!important;
}

/* Calendar information must be visible */
#calendar .calendar-detail{
  display:grid!important;
  visibility:visible!important;
  opacity:1!important;
  min-height:210px!important;
}
#calendar .calendar-detail:empty{
  display:grid!important;
  min-height:0!important;
  padding:0!important;
  border:0!important;
}
#calendar .calendar-grid{
  display:grid!important;
  visibility:visible!important;
  opacity:1!important;
}
#calendar .day-cell{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
#calendar .day-event{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}

/* Article list Creator Pick already image overlay */
.creator-pick-card{
  background:#111!important;
}
.creator-pick-card div{
  background:transparent!important;
}
.creator-pick-card span,
.creator-pick-card h3,
.creator-pick-card p{
  position:relative!important;
  z-index:2!important;
}

@media(max-width:900px){
  .giftween-pick-card{
    height:360px!important;
    min-height:360px!important;
  }
  .giftween-pick-copy{
    left:20px!important;
    right:20px!important;
    bottom:22px!important;
  }
  .giftween-picks-more a{
    width:min(320px,100%)!important;
  }
  #calendar .calendar-detail{
    display:block!important;
  }
}


/* =========================================================
   ROUND 36 : image gap / calendar restore / limited gifts relocation
   TOP hero untouched.
   ========================================================= */

/* Carousel arrows are not needed */
.gift-carousel-arrow,
.gift-image-carousel .gift-carousel-arrow,
[data-carousel-prev],
[data-carousel-next]{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}

/* Prevent black empty areas in all TOP gift image cards */
.daily-item,
.gift-card,
.quick-gift-card,
.giftween-pick-card{
  position:relative!important;
  overflow:hidden!important;
  background:#111!important;
}

.daily-item > .gift-image-single,
.daily-item > .gift-image-carousel,
.gift-card > .gift-image-single,
.gift-card > .gift-image-carousel,
.quick-gift-card > .gift-image-single,
.quick-gift-card > .gift-image-carousel,
.giftween-pick-image,
.giftween-pick-image > .gift-image-single,
.giftween-pick-image > .gift-image-carousel{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  z-index:0!important;
  background:#111!important;
  overflow:hidden!important;
}

.daily-item .gift-image-track,
.gift-card .gift-image-track,
.quick-gift-card .gift-image-track,
.giftween-pick-card .gift-image-track{
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  background:#111!important;
}

.daily-item img,
.gift-card img,
.quick-gift-card img,
.giftween-pick-card img,
.daily-item .gift-image-track img,
.gift-card .gift-image-track img,
.quick-gift-card .gift-image-track img,
.giftween-pick-card .gift-image-track img{
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  background:#111!important;
}

.daily-item::after,
.gift-card::after,
.quick-gift-card::after,
.giftween-pick-card::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:linear-gradient(180deg,rgba(0,0,0,.04) 0%,rgba(0,0,0,.18) 42%,rgba(0,0,0,.66) 100%)!important;
  pointer-events:none!important;
}

/* This day gifts: full image card, no black block below */
.daily-item{
  min-height:420px!important;
  border-radius:28px!important;
  color:#fff!important;
}
.daily-item .item-body{
  position:absolute!important;
  z-index:2!important;
  left:28px!important;
  right:28px!important;
  bottom:26px!important;
  padding:0!important;
  background:transparent!important;
  color:#fff!important;
}
.daily-item .item-body h3,
.daily-item .item-body p,
.daily-item .item-body strong,
.daily-item .item-body small,
.daily-item .item-body span{
  color:#fffaf2!important;
  text-shadow:0 8px 24px rgba(0,0,0,.36)!important;
}
.daily-item .item-body small{
  display:none!important;
}
.daily-item .item-body span{
  display:inline-flex!important;
  margin-top:14px!important;
  white-space:nowrap!important;
}

/* Editor items: remove purchase place on TOP cards, keep popup only */
.gift-card{
  min-height:420px!important;
}
.gift-card-overlay{
  position:absolute!important;
  z-index:2!important;
  left:26px!important;
  right:26px!important;
  bottom:26px!important;
  padding:0!important;
  background:transparent!important;
}
.gift-card-overlay small{
  display:none!important;
}
.gift-card-overlay em{
  display:inline-flex!important;
  margin-top:12px!important;
  color:#fffaf2!important;
  font-style:normal!important;
  white-space:nowrap!important;
}

/* Limited-time gifts moved under Creator PICK */
#justnow.just-now{
  width:min(1180px,calc(100% - 72px))!important;
  margin:36px auto 72px!important;
}
#justnow .section-heading h2{
  white-space:normal!important;
}
.quick-gift-card{
  min-height:360px!important;
}
.quick-card-body{
  position:absolute!important;
  z-index:2!important;
  left:22px!important;
  right:22px!important;
  bottom:22px!important;
  padding:0!important;
  background:transparent!important;
}
.quick-card-body small,
.quick-card-body h3,
.quick-card-body p,
.quick-card-body strong,
.quick-card-body em,
.quick-card-body b,
.quick-card-body span{
  color:#fffaf2!important;
  text-shadow:0 8px 24px rgba(0,0,0,.35)!important;
}
.quick-card-body em,
.quick-card-body b{
  display:block!important;
  font-size:11px!important;
  line-height:1.45!important;
  font-style:normal!important;
  font-weight:400!important;
  color:rgba(255,255,255,.82)!important;
}
.quick-card-body span{
  display:inline-flex!important;
  margin-top:12px!important;
  white-space:nowrap!important;
}

/* Giftween / Creator PICK cards: full image only, no white lower area */
.giftween-pick-card{
  height:390px!important;
  min-height:390px!important;
  border-radius:30px!important;
}
.giftween-pick-copy{
  position:absolute!important;
  z-index:2!important;
  left:24px!important;
  right:24px!important;
  bottom:24px!important;
  padding:0!important;
  background:transparent!important;
}
.giftween-pick-copy span{
  color:#d6b36a!important;
  white-space:nowrap!important;
}
.giftween-pick-copy h3{
  color:#fffaf2!important;
  font-size:26px!important;
  line-height:1.22!important;
}
.giftween-pick-copy p{
  color:rgba(255,255,255,.86)!important;
  margin-bottom:0!important;
}
.giftween-pick-copy dl,
.giftween-pick-copy dt,
.giftween-pick-copy dd{
  display:none!important;
}
.giftween-picks-more{
  display:flex!important;
  justify-content:center!important;
  margin-top:22px!important;
}
.giftween-picks-more a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:46px!important;
  padding:0 26px!important;
  border-radius:999px!important;
  background:#17130f!important;
  color:#fffaf2!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  font-size:13px!important;
}

/* Giftween PICK popup image width and no black gap */
.giftween-picks-modal-box{
  width:min(1120px,calc(100vw - 40px))!important;
  max-width:1120px!important;
  max-height:calc(100vh - 40px)!important;
  overflow:hidden!important;
  background:#fffdf9!important;
}
.giftween-pick-detail{
  display:grid!important;
  grid-template-columns:minmax(440px,52%) minmax(0,48%)!important;
  width:100%!important;
  max-height:calc(100vh - 40px)!important;
  min-height:min(680px,calc(100vh - 40px))!important;
  background:#fffdf9!important;
}
.giftween-pick-detail-media{
  width:100%!important;
  min-width:0!important;
  height:100%!important;
  min-height:min(680px,calc(100vh - 40px))!important;
  overflow:hidden!important;
  background:#efe5d8!important;
}
.giftween-pick-detail-media .gift-image-single,
.giftween-pick-detail-media .gift-image-carousel,
.giftween-pick-detail-media .gift-image-track{
  position:relative!important;
  width:100%!important;
  height:100%!important;
  min-height:min(680px,calc(100vh - 40px))!important;
  background:#efe5d8!important;
}
.giftween-pick-detail-media img,
.giftween-pick-detail-media .gift-image-track img{
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  background:#efe5d8!important;
}
.giftween-pick-detail-copy{
  min-width:0!important;
  max-height:calc(100vh - 40px)!important;
  overflow-y:auto!important;
  padding:48px 48px 44px!important;
  box-sizing:border-box!important;
}

/* Calendar hard restore */
#calendar.calendar-section{
  display:grid!important;
  visibility:visible!important;
  opacity:1!important;
}
#calendar .calendar-board,
#calendar .calendar-scale-wrap,
#calendar .weekday,
#calendar .calendar-grid{
  display:grid!important;
  visibility:visible!important;
  opacity:1!important;
}
#calendar .calendar-scale-wrap{
  display:block!important;
}
#calendar .weekday,
#calendar .calendar-grid{
  grid-template-columns:repeat(7,1fr)!important;
}
#calendar .day-cell{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
#calendar .day-event,
#calendar .day-num{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
#calendar .calendar-detail{
  display:grid!important;
  grid-template-columns:1fr 1.15fr!important;
  gap:28px!important;
  margin-top:26px!important;
  visibility:visible!important;
  opacity:1!important;
  min-height:210px!important;
}
#calendar .calendar-detail:empty{
  display:none!important;
}
.calendar-gift-card p,
.calendar-gift-card em{
  display:block!important;
}
.calendar-gift-card em{
  font-style:normal!important;
}

/* Article page image size consistency */
.article-product-feature{
  display:grid!important;
  grid-template-columns:minmax(300px,420px) minmax(0,1fr)!important;
  align-items:stretch!important;
}
.article-product-image,
.article-product-carousel{
  width:100%!important;
  height:320px!important;
  min-height:320px!important;
  max-height:320px!important;
  overflow:hidden!important;
}
.article-product-image img,
.article-product-carousel img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.article-product-carousel-track{
  height:320px!important;
  min-height:320px!important;
  max-height:320px!important;
}

/* Article list Creator Pick image overlay */
.creator-pick-section{
  max-width:1180px!important;
  margin:54px auto 72px!important;
}
.creator-pick-row{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
}
.creator-pick-card{
  position:relative!important;
  display:block!important;
  height:390px!important;
  border-radius:30px!important;
  overflow:hidden!important;
  background:#111!important;
  color:#fff!important;
  text-decoration:none!important;
}
.creator-pick-card img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  filter:saturate(.86) contrast(.98) brightness(.78)!important;
}
.creator-pick-card::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:linear-gradient(180deg,rgba(0,0,0,.04) 0%,rgba(0,0,0,.70) 100%)!important;
}
.creator-pick-card div{
  position:absolute!important;
  z-index:2!important;
  left:24px!important;
  right:24px!important;
  bottom:24px!important;
  background:transparent!important;
}
.creator-pick-card span{
  display:block!important;
  margin-bottom:10px!important;
  color:#d6b36a!important;
  font-size:11px!important;
  letter-spacing:.14em!important;
  white-space:nowrap!important;
}
.creator-pick-card h3{
  margin:0 0 10px!important;
  color:#fffaf2!important;
  font-size:26px!important;
  line-height:1.22!important;
}
.creator-pick-card p{
  margin:0!important;
  color:rgba(255,255,255,.84)!important;
  font-size:14px!important;
  line-height:1.65!important;
}
.creator-pick-card dl,
.creator-pick-card strong,
.creator-pick-card small,
.creator-pick-card em{
  display:none!important;
}

@media(max-width:900px){
  #justnow.just-now{
    width:auto!important;
    margin:30px 18px 58px!important;
  }
  .daily-item,
  .gift-card,
  .quick-gift-card,
  .giftween-pick-card{
    min-height:360px!important;
    height:360px!important;
  }
  .giftween-pick-detail{
    display:block!important;
    min-height:0!important;
    max-height:none!important;
  }
  .giftween-pick-detail-media{
    height:340px!important;
    min-height:340px!important;
  }
  .giftween-pick-detail-media .gift-image-single,
  .giftween-pick-detail-media .gift-image-carousel,
  .giftween-pick-detail-media .gift-image-track{
    height:340px!important;
    min-height:340px!important;
  }
  .giftween-pick-detail-copy{
    max-height:none!important;
    overflow:visible!important;
    padding:28px 22px 30px!important;
  }
  #calendar.calendar-section{
    display:block!important;
  }
  #calendar .calendar-scale-wrap{
    display:block!important;
  }
  #calendar .weekday,
  #calendar .calendar-grid{
    display:grid!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
  }
  #calendar .calendar-detail{
    display:block!important;
  }
  .article-product-feature{
    display:block!important;
  }
  .article-product-image,
  .article-product-carousel,
  .article-product-carousel-track{
    height:260px!important;
    min-height:260px!important;
    max-height:260px!important;
  }
  .creator-pick-section{
    margin:46px 18px 58px!important;
  }
  .creator-pick-row{
    display:flex!important;
    overflow-x:auto!important;
    gap:14px!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
    padding-bottom:14px!important;
  }
  .creator-pick-card{
    flex:0 0 82vw!important;
    width:82vw!important;
    height:360px!important;
    scroll-snap-align:start!important;
  }
}


/* ROUND37 overrides */
#dailyTrack{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important;transform:none!important;}
.daily-slider .slider-track{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important;transform:none!important;}
.daily-slider .daily-item,.daily-item{width:auto!important;flex:none!important;min-width:0!important;}
.today-row{align-items:stretch!important;}

#productShowcase{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important;}
#productShowcase .gift-card{min-width:0!important;}

#quickLayout{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important;}
.quick-filter-panel{display:none!important;}
#justnow .quick-card-body small,#justnow .quick-card-body em,#justnow .quick-card-body b{display:none!important;}
#justnow .quick-card-body{position:absolute!important;left:22px!important;right:22px!important;bottom:22px!important;padding:0!important;background:transparent!important;z-index:2!important;}
#justnow .quick-card-body h3,#justnow .quick-card-body p,#justnow .quick-card-body strong,#justnow .quick-card-body span{color:#fffaf2!important;text-shadow:0 8px 24px rgba(0,0,0,.35)!important;}

#calendarDetail{display:grid!important;grid-template-columns:1fr!important;gap:22px!important;}
#calendarDetail .calendar-detail-body{display:block!important;}
#calendarDetail .calendar-gift-scroll{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important;overflow:visible!important;}
#calendarDetail .calendar-gift-card{min-width:0!important;width:auto!important;}

.creator-pick-head h2{letter-spacing:.02em!important;}
.creator-pick-card img{object-fit:cover!important;object-position:center!important;}

@media (max-width: 1100px){
  #dailyTrack,.daily-slider .slider-track,#productShowcase,#quickLayout,#calendarDetail .calendar-gift-scroll{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media (max-width: 900px){
  #dailyTrack,.daily-slider .slider-track,#productShowcase,#quickLayout,#calendarDetail .calendar-gift-scroll{display:flex!important;overflow-x:auto!important;gap:14px!important;scroll-snap-type:x mandatory!important;}
  #dailyTrack .daily-item,.daily-slider .daily-item,#productShowcase .gift-card,#quickLayout .quick-gift-card,#calendarDetail .calendar-gift-card{flex:0 0 78vw!important;width:78vw!important;scroll-snap-align:start!important;}
}


/* =========================================================
   ROUND 38 : final restore calendar / GiftweenPICK images / 2x2 today gifts
   TOP hero untouched.
   ========================================================= */

/* Header wording target stays #justnow */
.footer-menu-panel a[href="#justnow"],
.mobile-drawer a[href="#justnow"]{
  white-space:nowrap!important;
}

/* GiftweenPICK uses uploaded images cleanly */
.giftween-pick-image img,
.creator-pick-card img{
  object-fit:cover!important;
  object-position:center!important;
}

/* 今日は何の日：商品カードは2列×2行の4件 */
.today-row{
  display:grid!important;
  grid-template-columns:430px minmax(0,1fr)!important;
  gap:28px!important;
  align-items:stretch!important;
}
.daily-slider.glass-card{
  min-width:0!important;
  overflow:visible!important;
}
.daily-slider .slider-window{
  overflow:visible!important;
}
#dailyTrack,
.daily-slider .slider-track{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:1fr!important;
  gap:18px!important;
  transform:none!important;
  transition:none!important;
}
#dailyTrack .daily-item,
.daily-slider .daily-item{
  width:auto!important;
  min-width:0!important;
  min-height:260px!important;
  height:260px!important;
  flex:none!important;
  border-radius:24px!important;
}
.daily-item .item-body{
  left:20px!important;
  right:20px!important;
  bottom:20px!important;
}
.daily-item .item-body h3{
  font-size:21px!important;
  line-height:1.25!important;
}
.daily-item .item-body p{
  font-size:13px!important;
  line-height:1.55!important;
}
.daily-item .item-body strong{
  font-size:14px!important;
}

/* 編集部が今週買ったアイテム：初期状態で常時表示、最大8件横スクロール */
#productShowcase.product-showcase,
#productShowcase{
  display:flex!important;
  grid-template-columns:none!important;
  gap:18px!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  -webkit-overflow-scrolling:touch!important;
  scroll-snap-type:x mandatory!important;
  visibility:visible!important;
  opacity:1!important;
  min-height:430px!important;
  padding:2px 2px 24px!important;
}
#productShowcase .gift-card{
  flex:0 0 300px!important;
  width:300px!important;
  min-width:300px!important;
  max-width:300px!important;
  min-height:410px!important;
  height:410px!important;
  scroll-snap-align:start!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
#productShowcase .gift-card:nth-child(n+9){
  display:none!important;
}
#productShowcase .gift-card-overlay small{
  display:none!important;
}

/* 今だからこそ買えるギフト：フィルターなしの商品カード */
#justnow .quick-filter-panel{
  display:none!important;
}
#justnow .just-head p:not(.eyebrow){
  font-size:15px!important;
  line-height:1.8!important;
}
#quickLayout{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
  min-height:360px!important;
  overflow:visible!important;
}
#quickLayout .quick-gift-card{
  min-width:0!important;
  width:auto!important;
  min-height:360px!important;
}
#justnow .quick-card-body small,
#justnow .quick-card-body em,
#justnow .quick-card-body b{
  display:none!important;
}

/* カレンダー：必ず見える状態に戻す */
#calendar.calendar-section{
  display:grid!important;
  grid-template-columns:360px minmax(0,1fr)!important;
  gap:30px!important;
  visibility:visible!important;
  opacity:1!important;
}
#calendar .calendar-board{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
#calendar .calendar-scale-wrap{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  overflow:visible!important;
}
#calendar .weekday,
#calendar .calendar-grid{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  gap:0!important;
  visibility:visible!important;
  opacity:1!important;
}
#calendar .day-cell{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  min-height:96px!important;
  height:96px!important;
  border:1px solid #ded3c7!important;
  background:#fffdf9!important;
  overflow:hidden!important;
}
#calendar .day-cell.muted{
  display:block!important;
}
#calendar .day-cell button{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  width:100%!important;
  height:100%!important;
  padding:14px 12px!important;
  background:transparent!important;
  border:0!important;
  text-align:left!important;
}
#calendar .day-num{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  color:#9a5b38!important;
  font-size:25px!important;
  line-height:1!important;
}
#calendar .day-event{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  margin-top:12px!important;
  color:#2d2924!important;
  font-size:13px!important;
  line-height:1.35!important;
  letter-spacing:0!important;
  white-space:normal!important;
  writing-mode:horizontal-tb!important;
  text-orientation:mixed!important;
  transform:none!important;
}
#calendar .calendar-detail{
  grid-column:2!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  min-height:0!important;
}
#calendarDetail .calendar-gift-scroll{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
  overflow:visible!important;
}
#calendarDetail .calendar-gift-card{
  min-width:0!important;
  width:auto!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}

/* remove decorative dots/stars from calendar */
#calendar .day-cell::before,
#calendar .day-cell::after,
#calendar .day-cell button::before,
#calendar .day-cell button::after,
#calendar .day-spark{
  display:none!important;
  content:none!important;
}

/* Article page GiftweenPICK */
.creator-pick-head .eyebrow{
  white-space:nowrap!important;
}
.creator-pick-head h2{
  white-space:nowrap!important;
}

@media(max-width:1100px){
  .today-row{
    grid-template-columns:1fr!important;
  }
  #calendar.calendar-section{
    grid-template-columns:1fr!important;
  }
  #calendar .calendar-detail{
    grid-column:auto!important;
  }
  #quickLayout{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:900px){
  #dailyTrack,
  .daily-slider .slider-track{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    overflow:visible!important;
  }
  #dailyTrack .daily-item,
  .daily-slider .daily-item{
    flex:none!important;
    width:auto!important;
    min-width:0!important;
    height:240px!important;
    min-height:240px!important;
  }
  #productShowcase{
    display:flex!important;
    overflow-x:auto!important;
  }
  #productShowcase .gift-card{
    flex:0 0 78vw!important;
    width:78vw!important;
    min-width:78vw!important;
  }
  #quickLayout{
    display:flex!important;
    overflow-x:auto!important;
    gap:14px!important;
    scroll-snap-type:x mandatory!important;
  }
  #quickLayout .quick-gift-card{
    flex:0 0 78vw!important;
    width:78vw!important;
    min-width:78vw!important;
    scroll-snap-align:start!important;
  }
  #calendar .day-cell{
    height:62px!important;
    min-height:62px!important;
  }
  #calendar .day-cell button{
    padding:7px 3px 5px!important;
  }
  #calendar .day-num{
    font-size:14px!important;
  }
  #calendar .day-event{
    margin-top:5px!important;
    font-size:8.2px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:clip!important;
  }
  #calendarDetail .calendar-gift-scroll{
    display:flex!important;
    overflow-x:auto!important;
    gap:12px!important;
  }
  #calendarDetail .calendar-gift-card{
    flex:0 0 220px!important;
    width:220px!important;
    min-width:220px!important;
  }
}


/* =========================================================
   ROUND 39 : fix PICK images / quick cards / calendar popup / card alignment
   TOP hero untouched.
   ========================================================= */

/* Giftween PICKS: each of the three cards uses its own first image, no mixed carousel */
.giftween-pick-image{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
  background:#111!important;
}
.giftween-pick-image > img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}
.giftween-pick-image .gift-image-carousel,
.giftween-pick-image .gift-image-single{
  height:100%!important;
}

/* この日に贈るなら：2×2で全カードを同じ長方形に固定 */
.today-row{
  display:grid!important;
  grid-template-columns:minmax(320px,420px) minmax(0,1fr)!important;
  gap:28px!important;
  align-items:stretch!important;
}
.daily-slider.glass-card,
.daily-slider{
  overflow:visible!important;
  min-width:0!important;
}
.daily-slider .slider-window{
  overflow:visible!important;
  width:100%!important;
}
#dailyTrack,
.daily-slider .slider-track{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  grid-auto-rows:1fr!important;
  gap:16px!important;
  width:100%!important;
  transform:none!important;
  transition:none!important;
}
#dailyTrack .daily-item,
.daily-slider .daily-item,
.daily-slider .daily-item:first-child{
  grid-column:auto!important;
  grid-row:auto!important;
  flex:none!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  min-height:250px!important;
  height:250px!important;
  border-radius:24px!important;
  overflow:hidden!important;
  align-self:stretch!important;
}
.daily-slider .daily-item:first-child .item-body,
.daily-slider .daily-item .item-body{
  left:20px!important;
  right:20px!important;
  bottom:20px!important;
  top:auto!important;
  transform:none!important;
}
.daily-slider .daily-item:first-child h3,
.daily-slider .daily-item h3{
  font-size:21px!important;
  line-height:1.25!important;
  margin:0 0 8px!important;
}
.daily-slider .daily-item p{
  font-size:13px!important;
  line-height:1.5!important;
  margin:0 0 8px!important;
}
.daily-slider .daily-item strong{
  font-size:14px!important;
}

/* 今だからこそ買えるギフト：必ず商品カード表示 */
#justnow .quick-filter-panel{
  display:none!important;
}
#quickLayout{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
  min-height:360px!important;
  visibility:visible!important;
  opacity:1!important;
}
#quickLayout .quick-gift-card{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  min-width:0!important;
  width:auto!important;
  height:360px!important;
  min-height:360px!important;
}
#justnow .quick-card-body small,
#justnow .quick-card-body em,
#justnow .quick-card-body b{
  display:none!important;
}

/* カレンダー：下部detailはPOPUP扱いにしない。日付クリックでmodalを出す */
#calendarDetail{
  display:none!important;
}
#calendar .calendar-grid{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  visibility:visible!important;
  opacity:1!important;
}
#calendar .day-cell{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  cursor:pointer!important;
}
#calendar .day-cell button{
  cursor:pointer!important;
}

/* 編集部が今週買ったアイテム：常時表示、横スクロール、TOPにCTA文言なし */
#productShowcase,
#productShowcase.product-showcase{
  display:flex!important;
  gap:18px!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  -webkit-overflow-scrolling:touch!important;
  scroll-snap-type:x mandatory!important;
  visibility:visible!important;
  opacity:1!important;
  min-height:420px!important;
  padding:2px 2px 24px!important;
}
#productShowcase .gift-card{
  flex:0 0 300px!important;
  width:300px!important;
  min-width:300px!important;
  max-width:300px!important;
  height:410px!important;
  min-height:410px!important;
  scroll-snap-align:start!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
}
#productShowcase .gift-card:nth-child(n+9){
  display:none!important;
}
#productShowcase .gift-card-overlay em,
#productShowcase .gift-card-overlay small{
  display:none!important;
}

/* 記事ページ：2個目の商品画像も1個目/3個目と同じ高さに固定 */
.article-product-feature{
  display:grid!important;
  grid-template-columns:minmax(300px,420px) minmax(0,1fr)!important;
  align-items:stretch!important;
}
.article-product-feature .article-product-image,
.article-product-feature .article-product-carousel,
.article-product-feature:nth-of-type(2) .article-product-image,
.article-product-feature:nth-of-type(2) .article-product-carousel{
  height:320px!important;
  min-height:320px!important;
  max-height:320px!important;
  overflow:hidden!important;
}
.article-product-feature .article-product-image img,
.article-product-feature .article-product-carousel img,
.article-product-feature:nth-of-type(2) img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.article-product-carousel-track{
  height:320px!important;
  min-height:320px!important;
  max-height:320px!important;
}

/* GiftweenPICK articles */
.creator-pick-card img{
  object-fit:cover!important;
  object-position:center!important;
}

@media(max-width:1100px){
  .today-row{
    grid-template-columns:1fr!important;
  }
  #quickLayout{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:900px){
  #dailyTrack,
  .daily-slider .slider-track{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }
  #dailyTrack .daily-item,
  .daily-slider .daily-item,
  .daily-slider .daily-item:first-child{
    height:230px!important;
    min-height:230px!important;
  }
  #quickLayout{
    display:flex!important;
    overflow-x:auto!important;
    gap:14px!important;
    scroll-snap-type:x mandatory!important;
  }
  #quickLayout .quick-gift-card{
    flex:0 0 78vw!important;
    width:78vw!important;
    min-width:78vw!important;
    scroll-snap-align:start!important;
  }
  #productShowcase .gift-card{
    flex:0 0 78vw!important;
    width:78vw!important;
    min-width:78vw!important;
  }
  .article-product-feature{
    display:block!important;
  }
  .article-product-feature .article-product-image,
  .article-product-feature .article-product-carousel,
  .article-product-carousel-track{
    height:260px!important;
    min-height:260px!important;
    max-height:260px!important;
  }
}


/* =========================================================
   ROUND 40 : seasonal cards / calendar popup / article product layout / mobile TOP copy
   ========================================================= */

/* スマホTOPコピー：句読点だけが二行目に落ちないように文字サイズと幅を調整 */
@media(max-width:900px){
  .hero-making-copy h1{
    font-size:clamp(52px,15vw,68px)!important;
    line-height:.98!important;
    letter-spacing:-.06em!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
  }
  .hero-making-copy{
    width:min(88vw,440px)!important;
  }
}

/* この日に贈るなら：ぼかしを弱める */
.daily-item::after,
.daily-slider .daily-item::after{
  background:linear-gradient(180deg,rgba(0,0,0,.02) 0%,rgba(0,0,0,.12) 46%,rgba(0,0,0,.46) 100%)!important;
}
.daily-item img,
.daily-item .gift-image-track img,
.daily-slider .daily-item img{
  filter:saturate(.98) contrast(.98) brightness(.96)!important;
}

/* この日に贈るなら：2列×2行で長方形に固定 */
.today-row{
  display:grid!important;
  grid-template-columns:minmax(320px,420px) minmax(0,1fr)!important;
  gap:28px!important;
  align-items:stretch!important;
}
.daily-slider.glass-card{
  overflow:visible!important;
  min-width:0!important;
}
.daily-slider .slider-window{
  overflow:visible!important;
}
#dailyTrack,
.daily-slider .slider-track{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:16px!important;
  transform:none!important;
  transition:none!important;
}
#dailyTrack .daily-item,
.daily-slider .daily-item,
.daily-slider .daily-item:first-child{
  grid-column:auto!important;
  grid-row:auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  flex:none!important;
  height:250px!important;
  min-height:250px!important;
  border-radius:24px!important;
}
.daily-slider .daily-item:first-child h3,
.daily-slider .daily-item h3{
  font-size:21px!important;
  line-height:1.25!important;
}

/* 今だからこそ買えるギフト：新規商品カードを必ず表示 */
#justnow .quick-filter-panel{
  display:none!important;
}
#quickLayout{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
  min-height:360px!important;
  visibility:visible!important;
  opacity:1!important;
  overflow:visible!important;
}
#quickLayout .quick-gift-card{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  min-width:0!important;
  width:auto!important;
  height:360px!important;
  min-height:360px!important;
}
#quickLayout .quick-card-body{
  position:absolute!important;
  z-index:2!important;
  left:22px!important;
  right:22px!important;
  bottom:22px!important;
  padding:0!important;
}
#quickLayout .quick-card-body small,
#quickLayout .quick-card-body em,
#quickLayout .quick-card-body b{
  display:none!important;
}
#quickLayout .quick-card-body h3,
#quickLayout .quick-card-body p,
#quickLayout .quick-card-body strong,
#quickLayout .quick-card-body span{
  color:#fffaf2!important;
  text-shadow:0 8px 24px rgba(0,0,0,.34)!important;
}

/* カレンダー：下の詳細は消して、日付クリックPOPUPにする */
#calendarDetail{
  display:none!important;
}
#calendar .day-cell button{
  cursor:pointer!important;
}
.calendar-pop-copy dl{
  display:grid!important;
  gap:14px!important;
  margin:22px 0!important;
}
.calendar-pop-copy dl div{
  display:block!important;
}
.calendar-pop-copy dt{
  margin:0 0 5px!important;
  color:#a66642!important;
  font-size:12px!important;
  letter-spacing:.08em!important;
}
.calendar-pop-copy dd{
  margin:0!important;
  color:#28231f!important;
  font-size:15px!important;
  line-height:1.7!important;
}

/* 編集部が今週買ったアイテム：TOPカードのCTA文言は非表示、カード全体クリック */
#productShowcase .gift-card-overlay em,
#productShowcase .gift-card-overlay small{
  display:none!important;
}
#productShowcase .gift-card{
  cursor:pointer!important;
}

/* 記事ページ：すべて2個目と同じ横長レイアウトへ統一 */
.article-product-feature{
  display:grid!important;
  grid-template-columns:minmax(360px,46%) minmax(0,54%)!important;
  align-items:stretch!important;
  gap:0!important;
  overflow:hidden!important;
  border-radius:28px!important;
}
.article-product-feature .article-product-image,
.article-product-feature .article-product-carousel,
.article-product-feature:nth-of-type(1) .article-product-image,
.article-product-feature:nth-of-type(2) .article-product-image,
.article-product-feature:nth-of-type(3) .article-product-image{
  width:100%!important;
  height:360px!important;
  min-height:360px!important;
  max-height:360px!important;
  overflow:hidden!important;
}
.article-product-feature .article-product-image img,
.article-product-feature .article-product-carousel img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.article-product-carousel-track{
  height:360px!important;
  min-height:360px!important;
  max-height:360px!important;
}

@media(max-width:1100px){
  .today-row{
    grid-template-columns:1fr!important;
  }
  #quickLayout{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:900px){
  #dailyTrack,
  .daily-slider .slider-track{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
  }
  #dailyTrack .daily-item,
  .daily-slider .daily-item,
  .daily-slider .daily-item:first-child{
    height:230px!important;
    min-height:230px!important;
  }
  #quickLayout{
    display:flex!important;
    gap:14px!important;
    overflow-x:auto!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
  }
  #quickLayout .quick-gift-card{
    flex:0 0 78vw!important;
    width:78vw!important;
    min-width:78vw!important;
    scroll-snap-align:start!important;
  }
  .article-product-feature{
    display:block!important;
  }
  .article-product-feature .article-product-image,
  .article-product-feature .article-product-carousel,
  .article-product-carousel-track{
    height:280px!important;
    min-height:280px!important;
    max-height:280px!important;
  }
}


/* =========================================================
   ROUND 41 : guaranteed popups + article card layout
   ========================================================= */

/* 今だからこそ：カードが必ず見える */
#quickLayout{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
  min-height:360px!important;
  overflow:visible!important;
  visibility:visible!important;
  opacity:1!important;
}
#quickLayout .quick-gift-card{
  display:block!important;
  position:relative!important;
  height:360px!important;
  min-height:360px!important;
  min-width:0!important;
  overflow:hidden!important;
  cursor:pointer!important;
}
#quickLayout .quick-gift-card .gift-image-single,
#quickLayout .quick-gift-card .gift-image-carousel{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
}
#quickLayout .quick-gift-card img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
#quickLayout .quick-gift-card::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:linear-gradient(180deg,rgba(0,0,0,.04) 0%,rgba(0,0,0,.18) 42%,rgba(0,0,0,.62) 100%)!important;
}
#quickLayout .quick-card-body{
  position:absolute!important;
  left:22px!important;
  right:22px!important;
  bottom:22px!important;
  z-index:2!important;
  padding:0!important;
  background:transparent!important;
}
#quickLayout .quick-card-body h3,
#quickLayout .quick-card-body p,
#quickLayout .quick-card-body strong,
#quickLayout .quick-card-body span{
  color:#fffaf2!important;
  text-shadow:0 8px 24px rgba(0,0,0,.34)!important;
}
#quickLayout .quick-card-body small,
#quickLayout .quick-card-body em,
#quickLayout .quick-card-body b{
  display:none!important;
}

/* Round41 modal layout */
.round41-detail{
  display:grid!important;
  grid-template-columns:minmax(380px,48%) minmax(0,52%)!important;
  width:100%!important;
  max-height:calc(100vh - 48px)!important;
  background:#fffdf9!important;
  overflow:hidden!important;
}
.round41-detail-media{
  min-height:620px!important;
  background:#efe5d8!important;
  overflow:hidden!important;
}
.round41-carousel,
.round41-carousel-track{
  position:relative!important;
  width:100%!important;
  height:100%!important;
  min-height:620px!important;
  overflow:hidden!important;
}
.round41-carousel-track img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  opacity:0!important;
  transition:opacity .45s ease!important;
}
.round41-carousel-track img.is-active{
  opacity:1!important;
}
.round41-carousel-dots{
  position:absolute!important;
  left:50%!important;
  bottom:16px!important;
  z-index:4!important;
  display:flex!important;
  gap:7px!important;
  transform:translateX(-50%)!important;
}
.round41-carousel-dots button{
  width:7px!important;
  height:7px!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.48)!important;
}
.round41-carousel-dots button.active{
  background:#fff!important;
}
.round41-detail-copy{
  max-height:calc(100vh - 48px)!important;
  overflow-y:auto!important;
  padding:46px 44px!important;
  box-sizing:border-box!important;
}
.round41-detail-copy h2{
  margin:0 0 14px!important;
  color:#17130f!important;
  font-size:clamp(32px,3vw,44px)!important;
  line-height:1.18!important;
}
.round41-detail-copy strong{
  display:block!important;
  margin-bottom:18px!important;
  color:#9a5b38!important;
}
.round41-detail-copy > p:not(.eyebrow){
  color:#5e554c!important;
  line-height:1.8!important;
}
.round41-detail-copy dl{
  display:grid!important;
  gap:14px!important;
  margin:22px 0!important;
}
.round41-detail-copy dt{
  margin:0 0 5px!important;
  color:#a66642!important;
  font-size:12px!important;
  letter-spacing:.08em!important;
}
.round41-detail-copy dd{
  margin:0!important;
  color:#28231f!important;
  font-size:15px!important;
  line-height:1.7!important;
}
.round41-detail-copy a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:44px!important;
  padding:0 22px!important;
  border-radius:999px!important;
  background:#17130f!important;
  color:#fffaf2!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}

/* カレンダー：曜日/日付クリックはPOPUP、下の詳細は出さない */
#calendarDetail{
  display:none!important;
}
#calendar .day-cell:not(.muted),
#calendar .day-cell:not(.muted) button{
  cursor:pointer!important;
}

/* 記事ページ：商品カードは左画像・右文言に統一 */
.article-gift-list-editorial{
  display:grid!important;
  gap:22px!important;
}
.article-product-feature{
  display:grid!important;
  grid-template-columns:minmax(340px,44%) minmax(0,56%)!important;
  gap:0!important;
  align-items:stretch!important;
  overflow:hidden!important;
  border-radius:28px!important;
  background:#fffdf9!important;
  border:1px solid rgba(205,190,174,.8)!important;
  min-height:360px!important;
}
.article-product-feature .article-product-image,
.article-product-feature .article-product-carousel{
  grid-column:1!important;
  width:100%!important;
  height:360px!important;
  min-height:360px!important;
  max-height:360px!important;
  overflow:hidden!important;
}
.article-product-feature .article-product-image img,
.article-product-feature .article-product-carousel img,
.article-product-feature .article-product-carousel-track img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.article-product-carousel-track{
  height:360px!important;
  min-height:360px!important;
  max-height:360px!important;
}
.article-product-feature .article-product-copy{
  grid-column:2!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding:34px 36px!important;
  box-sizing:border-box!important;
}
.article-product-feature .article-product-copy h3{
  margin:14px 0 14px!important;
  font-size:30px!important;
  line-height:1.25!important;
}
.article-product-feature .article-product-intro{
  font-size:15px!important;
  line-height:1.85!important;
}

@media(max-width:1100px){
  #quickLayout{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:900px){
  #quickLayout{
    display:flex!important;
    overflow-x:auto!important;
    gap:14px!important;
    scroll-snap-type:x mandatory!important;
  }
  #quickLayout .quick-gift-card{
    flex:0 0 78vw!important;
    width:78vw!important;
    min-width:78vw!important;
    scroll-snap-align:start!important;
  }
  .round41-detail{
    display:block!important;
    max-height:none!important;
  }
  .round41-detail-media,
  .round41-carousel,
  .round41-carousel-track{
    min-height:320px!important;
    height:320px!important;
  }
  .round41-detail-copy{
    max-height:none!important;
    overflow:visible!important;
    padding:28px 22px 30px!important;
  }
  .article-product-feature{
    display:block!important;
    min-height:0!important;
  }
  .article-product-feature .article-product-image,
  .article-product-feature .article-product-carousel,
  .article-product-carousel-track{
    height:280px!important;
    min-height:280px!important;
    max-height:280px!important;
  }
  .article-product-feature .article-product-copy{
    display:block!important;
    padding:24px 22px!important;
  }
}


/* =========================================================
   ROUND 42 : final force fixes
   ========================================================= */

/* 今だからこそには送付画像を使わない。商品画像カード表示固定 */
#quickLayout .quick-gift-card img[src*="giftween-pick-person"]{
  display:none!important;
}
#quickLayout{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
  min-height:360px!important;
  visibility:visible!important;
  opacity:1!important;
}
#quickLayout .quick-gift-card{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:relative!important;
  height:360px!important;
  min-height:360px!important;
  cursor:pointer!important;
}

/* GiftweenPICKだけ、送付画像→商品画像の2枚カルーセル */
.giftween-pick-image.gift-carousel,
.giftween-pick-image{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
}
.giftween-pick-image .gift-image-carousel,
.giftween-pick-image .gift-image-track,
.giftween-pick-image img{
  width:100%!important;
  height:100%!important;
}
.giftween-pick-image img{
  object-fit:cover!important;
  object-position:center!important;
}

/* この日に贈るなら：ぼかしをほぼ消す */
.daily-item::after,
.daily-slider .daily-item::after,
.daily-slider .daily-item:after,
.daily-slider .daily-item:before{
  background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.04) 45%,rgba(0,0,0,.26) 100%)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  filter:none!important;
}
.daily-item img,
.daily-item .gift-image-track img,
.daily-slider .daily-item img,
.daily-slider .daily-item .gift-image-track img{
  filter:none!important;
  opacity:1!important;
}

/* カレンダーPOPUPの専用レイアウト */
.round42-detail{
  display:grid!important;
  grid-template-columns:minmax(380px,48%) minmax(0,52%)!important;
  max-height:calc(100vh - 48px)!important;
  background:#fffdf9!important;
  overflow:hidden!important;
}
.round42-detail-media{
  min-height:620px!important;
  overflow:hidden!important;
  background:#efe5d8!important;
}
.round42-carousel{
  position:relative!important;
  width:100%!important;
  height:100%!important;
  min-height:620px!important;
  overflow:hidden!important;
}
.round42-carousel img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  opacity:0!important;
  transition:opacity .45s ease!important;
}
.round42-carousel img.is-active{
  opacity:1!important;
}
.round42-dots{
  position:absolute!important;
  z-index:4!important;
  left:50%!important;
  bottom:16px!important;
  display:flex!important;
  gap:7px!important;
  transform:translateX(-50%)!important;
}
.round42-dots button{
  width:7px!important;
  height:7px!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.48)!important;
}
.round42-dots button.active{
  background:#fff!important;
}
.round42-detail-copy{
  max-height:calc(100vh - 48px)!important;
  overflow-y:auto!important;
  padding:46px 44px!important;
  box-sizing:border-box!important;
}
.round42-detail-copy h2{
  margin:0 0 14px!important;
  color:#17130f!important;
  font-size:clamp(32px,3vw,44px)!important;
  line-height:1.18!important;
}
.round42-detail-copy strong{
  display:block!important;
  margin-bottom:18px!important;
  color:#9a5b38!important;
}
.round42-detail-copy dl{
  display:grid!important;
  gap:14px!important;
  margin:22px 0!important;
}
.round42-detail-copy dt{
  margin:0 0 5px!important;
  color:#a66642!important;
  font-size:12px!important;
  letter-spacing:.08em!important;
}
.round42-detail-copy dd{
  margin:0!important;
  color:#28231f!important;
  font-size:15px!important;
  line-height:1.7!important;
}
.round42-detail-copy a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:44px!important;
  padding:0 22px!important;
  border-radius:999px!important;
  background:#17130f!important;
  color:#fffaf2!important;
  text-decoration:none!important;
}

/* カレンダー下部詳細は出さない */
#calendarDetail{
  display:none!important;
}

/* 記事ページ：商品カードは全部 左画像 / 右文言。同じ縦幅で固定 */
.article-gift-list-editorial{
  display:grid!important;
  gap:22px!important;
}
.article-gift-list-editorial > .article-product-feature,
.article-product-feature{
  display:grid!important;
  grid-template-columns:minmax(360px,44%) minmax(0,56%)!important;
  align-items:stretch!important;
  min-height:340px!important;
  height:auto!important;
  overflow:hidden!important;
  border-radius:28px!important;
}
.article-gift-list-editorial > .article-product-feature > .article-product-image,
.article-gift-list-editorial > .article-product-feature > .article-product-carousel,
.article-product-feature > .article-product-image,
.article-product-feature > .article-product-carousel{
  grid-column:1!important;
  grid-row:1!important;
  width:100%!important;
  height:340px!important;
  min-height:340px!important;
  max-height:340px!important;
  overflow:hidden!important;
}
.article-product-feature > .article-product-image img,
.article-product-feature > .article-product-carousel img,
.article-product-feature .article-product-carousel-track img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.article-product-feature .article-product-carousel-track{
  height:340px!important;
  min-height:340px!important;
  max-height:340px!important;
}
.article-product-feature > .article-product-copy{
  grid-column:2!important;
  grid-row:1!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-height:340px!important;
  padding:32px 36px!important;
  box-sizing:border-box!important;
}

/* 記事一覧GiftweenPICKカルーセル */
.creator-pick-carousel,
.creator-pick-track{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
}
.creator-pick-track img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  opacity:0!important;
  transition:opacity .45s ease!important;
}
.creator-pick-track img.is-active{
  opacity:1!important;
}
.creator-pick-dots{
  position:absolute!important;
  z-index:4!important;
  left:50%!important;
  bottom:14px!important;
  display:flex!important;
  gap:7px!important;
  transform:translateX(-50%)!important;
}
.creator-pick-dots button{
  width:7px!important;
  height:7px!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.5)!important;
}
.creator-pick-dots button.active{
  background:#fff!important;
}

@media(max-width:900px){
  .round42-detail{
    display:block!important;
    max-height:none!important;
  }
  .round42-detail-media,
  .round42-carousel{
    min-height:320px!important;
    height:320px!important;
  }
  .round42-detail-copy{
    max-height:none!important;
    overflow:visible!important;
    padding:28px 22px 30px!important;
  }
  .article-gift-list-editorial > .article-product-feature,
  .article-product-feature{
    display:block!important;
    min-height:0!important;
  }
  .article-gift-list-editorial > .article-product-feature > .article-product-image,
  .article-gift-list-editorial > .article-product-feature > .article-product-carousel,
  .article-product-feature > .article-product-image,
  .article-product-feature > .article-product-carousel,
  .article-product-feature .article-product-carousel-track{
    height:280px!important;
    min-height:280px!important;
    max-height:280px!important;
  }
  .article-product-feature > .article-product-copy{
    display:block!important;
    min-height:0!important;
    padding:24px 22px!important;
  }
}


/* =========================================================
   ROUND 43 : inline forced calendar popup
   ========================================================= */

#calendarModal.open{
  display:flex!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  z-index:999999!important;
}
#calendarModal .modal-box{
  width:min(980px,calc(100vw - 40px))!important;
  max-height:calc(100vh - 40px)!important;
  overflow:auto!important;
  padding:0!important;
  background:#fffdf9!important;
}
.force-calendar-detail{
  display:grid!important;
  grid-template-columns:minmax(360px,48%) minmax(0,52%)!important;
  max-height:calc(100vh - 40px)!important;
  background:#fffdf9!important;
  overflow:hidden!important;
}
.force-calendar-media{
  min-height:620px!important;
  overflow:hidden!important;
  background:#efe5d8!important;
}
.force-calendar-carousel{
  position:relative!important;
  width:100%!important;
  height:100%!important;
  min-height:620px!important;
  overflow:hidden!important;
}
.force-calendar-carousel img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  opacity:0!important;
  transition:opacity .4s ease!important;
}
.force-calendar-carousel img.is-active{
  opacity:1!important;
}
.force-calendar-dots{
  position:absolute!important;
  z-index:4!important;
  left:50%!important;
  bottom:16px!important;
  display:flex!important;
  gap:7px!important;
  transform:translateX(-50%)!important;
}
.force-calendar-dots button{
  width:7px!important;
  height:7px!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.5)!important;
}
.force-calendar-dots button.active{
  background:#fff!important;
}
.force-calendar-copy{
  max-height:calc(100vh - 40px)!important;
  overflow-y:auto!important;
  padding:46px 44px!important;
  box-sizing:border-box!important;
}
.force-calendar-copy h2{
  margin:0 0 14px!important;
  color:#17130f!important;
  font-size:clamp(32px,3vw,44px)!important;
  line-height:1.18!important;
}
.force-calendar-copy strong{
  display:block!important;
  margin-bottom:18px!important;
  color:#9a5b38!important;
}
.force-calendar-copy > p:not(.eyebrow){
  color:#5e554c!important;
  line-height:1.8!important;
}
.force-calendar-copy dl{
  display:grid!important;
  gap:14px!important;
  margin:22px 0!important;
}
.force-calendar-copy dt{
  margin:0 0 5px!important;
  color:#a66642!important;
  font-size:12px!important;
  letter-spacing:.08em!important;
}
.force-calendar-copy dd{
  margin:0!important;
  color:#28231f!important;
  font-size:15px!important;
  line-height:1.7!important;
}
.force-calendar-copy a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:44px!important;
  padding:0 22px!important;
  border-radius:999px!important;
  background:#17130f!important;
  color:#fffaf2!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
#calendar .day-cell:not(.muted),
#calendar .day-cell:not(.muted) button{
  cursor:pointer!important;
  pointer-events:auto!important;
}
#calendarDetail{
  display:none!important;
}

@media(max-width:900px){
  #calendarModal .modal-box{
    width:calc(100vw - 24px)!important;
    max-height:calc(100vh - 24px)!important;
    overflow:auto!important;
  }
  .force-calendar-detail{
    display:block!important;
    max-height:none!important;
  }
  .force-calendar-media,
  .force-calendar-carousel{
    min-height:320px!important;
    height:320px!important;
  }
  .force-calendar-copy{
    max-height:none!important;
    overflow:visible!important;
    padding:28px 22px 30px!important;
  }
}


/* =========================================================
   ROUND 44 : remove calendar lower gifts / slight blur for daily cards
   ========================================================= */

/* ギフトカレンダー下のギフト表示は削除。POPUPはそのまま使用 */
#calendarDetail,
#calendar .calendar-detail,
#calendarDetail .calendar-gift-scroll,
#calendarDetail .calendar-gift-card{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}

/* この日に贈るなら：画像のみ少しぼかす */
.daily-slider .daily-item > .gift-image-single img,
.daily-slider .daily-item > .gift-image-carousel img,
.daily-slider .daily-item .gift-image-track img,
#dailyTrack .daily-item > .gift-image-single img,
#dailyTrack .daily-item > .gift-image-carousel img,
#dailyTrack .daily-item .gift-image-track img{
  filter:blur(.55px) brightness(.96) saturate(.98)!important;
  transform:scale(1.018)!important;
}

/* 文字が沈まないように、黒のかかりは薄めのまま維持 */
.daily-item::after,
.daily-slider .daily-item::after,
.daily-slider .daily-item:after{
  background:linear-gradient(180deg,rgba(0,0,0,.02) 0%,rgba(0,0,0,.08) 48%,rgba(0,0,0,.36) 100%)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}


/* =========================================================
   ROUND 45 : full PC/SP stabilization requested
   ========================================================= */

/* Global mobile safety */
html, body{
  max-width:100%!important;
  overflow-x:hidden!important;
}
*{
  box-sizing:border-box!important;
}
img, video{
  max-width:100%!important;
}
a, button{
  -webkit-tap-highlight-color:transparent!important;
}

/* 1. WHO'S NEXT / next preview compact on smartphone */
@media(max-width:900px){
  .interview-feature-layout{
    gap:18px!important;
  }
  .interview-next-card{
    width:100%!important;
    max-width:360px!important;
    margin:0 auto!important;
    padding:16px!important;
    border-radius:24px!important;
  }
  .interview-next-card .next-card-top{
    margin-bottom:10px!important;
  }
  .interview-next-card .next-card-top .eyebrow{
    font-size:10px!important;
    letter-spacing:.12em!important;
    white-space:nowrap!important;
  }
  .interview-next-card .next-card-top span{
    font-size:11px!important;
    white-space:nowrap!important;
  }
  .interview-next-card img{
    height:185px!important;
    min-height:0!important;
    object-fit:cover!important;
    border-radius:18px!important;
  }
  .interview-next-card .next-card-body{
    padding:14px 2px 0!important;
  }
  .interview-next-card .next-guest{
    font-size:12px!important;
    line-height:1.4!important;
    margin:0 0 8px!important;
  }
  .interview-next-card .next-card-body h3{
    font-size:22px!important;
    line-height:1.28!important;
    letter-spacing:-.03em!important;
    margin:0 0 10px!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
  }
  .interview-next-card .next-card-body dl{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    margin:10px 0!important;
  }
  .interview-next-card .next-card-body dt,
  .interview-next-card .next-card-body dd{
    font-size:11px!important;
    line-height:1.35!important;
    white-space:nowrap!important;
  }
  .interview-next-card .next-note{
    font-size:12px!important;
    line-height:1.65!important;
    margin:8px 0 0!important;
  }
  .interview-archive{
    display:none!important;
  }
}

/* 2. Place "今だからこそ" directly after search with natural spacing */
#justnow.just-now{
  width:min(1180px,calc(100% - 72px))!important;
  margin:20px auto 58px!important;
  padding-top:0!important;
}
.search-panel + #justnow,
#search + #justnow{
  margin-top:18px!important;
}
@media(max-width:900px){
  #justnow.just-now{
    width:auto!important;
    margin:16px 18px 42px!important;
  }
}

/* 3. Creator Picks heading/title */
.giftween-picks-head h2,
.creator-pick-head h2{
  word-break:keep-all!important;
  overflow-wrap:normal!important;
}

/* 4. Carousel operation UI */
.gift-image-carousel,
.creator-image-carousel,
.creator-pick-carousel,
.gift-carousel[data-images]{
  cursor:pointer!important;
  touch-action:pan-y!important;
}
.gift-image-carousel::before,
.creator-image-carousel::before{
  content:"画像をクリック / スワイプ"!important;
  position:absolute!important;
  right:12px!important;
  top:12px!important;
  z-index:5!important;
  padding:5px 9px!important;
  border-radius:999px!important;
  background:rgba(17,13,9,.58)!important;
  color:#fffaf2!important;
  font-size:10px!important;
  line-height:1!important;
  letter-spacing:.04em!important;
  pointer-events:none!important;
}
.gift-carousel-dots,
.creator-pick-dots{
  display:flex!important;
  justify-content:center!important;
  gap:7px!important;
  pointer-events:auto!important;
}
.gift-carousel-dots button,
.creator-pick-dots button{
  width:7px!important;
  height:7px!important;
  padding:0!important;
  border-radius:50%!important;
  border:0!important;
  background:rgba(255,255,255,.46)!important;
}
.gift-carousel-dots button.active,
.creator-pick-dots button.active{
  background:#fff!important;
}
@media(max-width:900px){
  .gift-image-carousel::before,
  .creator-image-carousel::before{
    content:"スワイプ"!important;
    font-size:9px!important;
    padding:5px 8px!important;
  }
}

/* 5. 今だからこそ買えるギフト mobile stabilization */
#quickLayout{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:18px!important;
  visibility:visible!important;
  opacity:1!important;
}
#quickLayout .quick-gift-card{
  min-width:0!important;
  overflow:hidden!important;
}
#quickLayout .quick-card-body h3{
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  line-height:1.28!important;
}
#quickLayout .quick-card-body p{
  word-break:normal!important;
  overflow-wrap:anywhere!important;
}
@media(max-width:900px){
  #quickLayout{
    display:flex!important;
    gap:14px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
    padding:0 2px 14px!important;
  }
  #quickLayout .quick-gift-card{
    flex:0 0 78vw!important;
    width:78vw!important;
    min-width:78vw!important;
    height:330px!important;
    min-height:330px!important;
    scroll-snap-align:start!important;
    border-radius:24px!important;
  }
  #quickLayout .quick-card-body{
    left:20px!important;
    right:20px!important;
    bottom:20px!important;
  }
  #quickLayout .quick-card-body h3{
    font-size:22px!important;
    line-height:1.25!important;
    margin:0 0 8px!important;
    letter-spacing:-.03em!important;
  }
  #quickLayout .quick-card-body strong{
    font-size:14px!important;
    margin:0 0 8px!important;
  }
  #quickLayout .quick-card-body p{
    font-size:13px!important;
    line-height:1.55!important;
    margin:0 0 10px!important;
  }
  #quickLayout .quick-card-body span{
    font-size:12px!important;
    white-space:nowrap!important;
  }
}

/* 6. 今日は何の日？ smartphone background and type */
@media(max-width:900px){
  .today-row{
    gap:16px!important;
    padding-top:26px!important;
    padding-bottom:28px!important;
  }
  .today-card.glass-card{
    background:#efe4d4!important;
    border-color:rgba(166,102,66,.20)!important;
    padding:24px 22px!important;
    min-height:0!important;
    border-radius:26px!important;
  }
  .today-card h2{
    font-size:28px!important;
    line-height:1.18!important;
    letter-spacing:-.04em!important;
    margin:12px 0 18px!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
  }
  .date-block{
    gap:12px!important;
    margin-bottom:14px!important;
  }
  .date-block strong{
    font-size:52px!important;
    line-height:1!important;
  }
  .date-block small{
    font-size:13px!important;
  }
  .today-card h3{
    font-size:32px!important;
    line-height:1.15!important;
    margin:0 0 14px!important;
  }
  .today-card p:not(.eyebrow){
    max-width:none!important;
    font-size:13px!important;
    line-height:1.75!important;
    margin:0!important;
  }
}

/* 7. この日に贈るなら text/card layout */
.daily-slider .section-title-row h2{
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  white-space:nowrap!important;
}
.daily-slider .daily-item img,
.daily-slider .daily-item .gift-image-track img,
#dailyTrack .daily-item img{
  filter:blur(.55px) brightness(.96) saturate(.98)!important;
  transform:scale(1.018)!important;
}
.daily-slider .daily-item::after,
.daily-item::after{
  background:linear-gradient(180deg,rgba(0,0,0,.02) 0%,rgba(0,0,0,.08) 48%,rgba(0,0,0,.36) 100%)!important;
}
@media(max-width:900px){
  .daily-slider.glass-card{
    padding:22px!important;
    border-radius:26px!important;
  }
  .daily-slider .section-title-row{
    margin-bottom:16px!important;
  }
  .daily-slider .section-title-row h2{
    font-size:25px!important;
    line-height:1.2!important;
    letter-spacing:-.04em!important;
  }
  #dailyTrack,
  .daily-slider .slider-track{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    overflow:visible!important;
  }
  #dailyTrack .daily-item,
  .daily-slider .daily-item,
  .daily-slider .daily-item:first-child{
    width:auto!important;
    min-width:0!important;
    flex:none!important;
    height:226px!important;
    min-height:226px!important;
    border-radius:20px!important;
  }
  .daily-slider .daily-item .item-body,
  .daily-slider .daily-item:first-child .item-body{
    left:14px!important;
    right:14px!important;
    bottom:14px!important;
  }
  .daily-slider .daily-item h3,
  .daily-slider .daily-item:first-child h3{
    font-size:17px!important;
    line-height:1.25!important;
    letter-spacing:-.03em!important;
    margin:0 0 6px!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
  }
  .daily-slider .daily-item p{
    font-size:11px!important;
    line-height:1.45!important;
    margin:0 0 6px!important;
  }
  .daily-slider .daily-item strong{
    font-size:12px!important;
  }
  .daily-slider .daily-item span{
    font-size:11px!important;
    white-space:nowrap!important;
  }
}

/* 8-10. Calendar mobile spacing/text/month stability */
#calendarDetail{
  display:none!important;
}
@media(max-width:900px){
  #calendar.calendar-section{
    display:block!important;
    padding-top:28px!important;
    padding-bottom:28px!important;
    margin-top:0!important;
    gap:0!important;
  }
  #calendar .calendar-intro{
    margin-bottom:14px!important;
  }
  #calendar .calendar-intro h2{
    font-size:30px!important;
    line-height:1.18!important;
    margin:8px 0 8px!important;
  }
  #calendar .calendar-intro p:not(.eyebrow){
    font-size:13px!important;
    line-height:1.7!important;
    margin:0!important;
  }
  #calendar .calendar-board{
    padding:16px 14px!important;
    border-radius:24px!important;
    overflow:hidden!important;
  }
  #calendar .calendar-head{
    gap:8px!important;
    margin-bottom:12px!important;
  }
  #calendarTitle{
    font-size:24px!important;
    line-height:1.15!important;
    white-space:nowrap!important;
  }
  #calendar .month-tabs{
    width:100%!important;
    display:flex!important;
    gap:6px!important;
    margin-top:8px!important;
  }
  #calendar .month-tabs button{
    flex:1!important;
    min-width:0!important;
    height:32px!important;
    font-size:12px!important;
    white-space:nowrap!important;
  }
  #calendar .calendar-scale-wrap{
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    padding-bottom:6px!important;
  }
  #calendar .weekday,
  #calendar .calendar-grid{
    min-width:620px!important;
    width:620px!important;
    grid-template-columns:repeat(7,1fr)!important;
  }
  #calendar .weekday span{
    font-size:11px!important;
    white-space:nowrap!important;
  }
  #calendar .day-cell{
    min-height:74px!important;
    height:74px!important;
    overflow:hidden!important;
  }
  #calendar .day-cell button{
    padding:8px 7px!important;
  }
  #calendar .day-num{
    font-size:17px!important;
    line-height:1!important;
  }
  #calendar .day-event{
    margin-top:7px!important;
    font-size:10px!important;
    line-height:1.25!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    writing-mode:horizontal-tb!important;
    transform:none!important;
  }
}

/* 11. Editor items: no categories, max 5 and always visible */
.gift-category-tabs,
#giftTabs{
  display:none!important;
}
#productShowcase,
#productShowcase.product-showcase{
  display:flex!important;
  gap:18px!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  -webkit-overflow-scrolling:touch!important;
  scroll-snap-type:x mandatory!important;
  visibility:visible!important;
  opacity:1!important;
  min-height:420px!important;
  padding:2px 2px 24px!important;
}
#productShowcase .gift-card{
  flex:0 0 300px!important;
  width:300px!important;
  min-width:300px!important;
  max-width:300px!important;
  height:410px!important;
  min-height:410px!important;
  scroll-snap-align:start!important;
}
#productShowcase .gift-card:nth-child(n+6){
  display:none!important;
}
@media(max-width:900px){
  #gifts.gift-focus{
    padding-top:30px!important;
    padding-bottom:30px!important;
  }
  #gifts .section-heading{
    margin-bottom:16px!important;
  }
  #gifts .section-heading h2{
    font-size:28px!important;
    line-height:1.22!important;
    letter-spacing:-.04em!important;
  }
  #productShowcase .gift-card{
    flex:0 0 78vw!important;
    width:78vw!important;
    min-width:78vw!important;
    height:360px!important;
    min-height:360px!important;
  }
}

/* 12. Ranking mobile horizontal carousel */
@media(max-width:900px){
  #ranking.ranking{
    padding-top:34px!important;
    padding-bottom:36px!important;
  }
  .ranking-head{
    margin-bottom:18px!important;
  }
  .ranking-head h2{
    font-size:30px!important;
    line-height:1.18!important;
    white-space:nowrap!important;
  }
  .ranking-row.ranking-carousel{
    display:flex!important;
    gap:14px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    scroll-snap-type:x mandatory!important;
    padding:0 2px 14px!important;
  }
  .ranking-row.ranking-carousel .ranking-card{
    flex:0 0 78vw!important;
    width:78vw!important;
    min-width:78vw!important;
    max-width:78vw!important;
    scroll-snap-align:start!important;
    border-radius:24px!important;
  }
  .ranking-card .ranking-meta h3{
    font-size:21px!important;
    line-height:1.28!important;
    letter-spacing:-.03em!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
  }
  .ranking-swipe-note{
    display:block!important;
    margin-top:8px!important;
    font-size:12px!important;
    text-align:center!important;
    color:rgba(255,255,255,.64)!important;
  }
}

/* 13. Footer mobile spacing */
@media(max-width:900px){
  .footer{
    padding-top:34px!important;
    padding-bottom:28px!important;
    gap:24px!important;
  }
  .footer-brand h2{
    margin-bottom:6px!important;
    line-height:1!important;
  }
  .footer-brand p{
    margin-top:0!important;
    line-height:1.5!important;
  }
}

/* 14. General heading/button orphan prevention */
@media(max-width:900px){
  h1,h2,h3,
  .btn,
  button,
  .series-cta,
  .giftween-picks-more a,
  .quick-card-body h3,
  .gift-card-overlay h3,
  .ranking-meta h3{
    word-break:keep-all!important;
    overflow-wrap:normal!important;
  }
  .btn,
  button,
  .series-cta,
  .giftween-picks-more a{
    white-space:nowrap!important;
  }
  .section{
    padding-left:18px!important;
    padding-right:18px!important;
  }
}

/* Article product cards: left image / right copy, same height */
.article-gift-list-editorial{
  display:grid!important;
  gap:22px!important;
}
.article-product-feature{
  display:grid!important;
  grid-template-columns:minmax(360px,44%) minmax(0,56%)!important;
  align-items:stretch!important;
  overflow:hidden!important;
  border-radius:28px!important;
  min-height:340px!important;
}
.article-product-feature > .article-product-image,
.article-product-feature > .article-product-carousel{
  grid-column:1!important;
  grid-row:1!important;
  width:100%!important;
  height:340px!important;
  min-height:340px!important;
  max-height:340px!important;
  overflow:hidden!important;
}
.article-product-feature > .article-product-image img,
.article-product-feature > .article-product-carousel img,
.article-product-feature .article-product-carousel-track img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
.article-product-feature .article-product-carousel-track{
  height:340px!important;
  min-height:340px!important;
  max-height:340px!important;
}
.article-product-feature > .article-product-copy{
  grid-column:2!important;
  grid-row:1!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-height:340px!important;
  padding:32px 36px!important;
}
@media(max-width:900px){
  .article-product-feature{
    display:block!important;
    min-height:0!important;
  }
  .article-product-feature > .article-product-image,
  .article-product-feature > .article-product-carousel,
  .article-product-feature .article-product-carousel-track{
    height:280px!important;
    min-height:280px!important;
    max-height:280px!important;
  }
  .article-product-feature > .article-product-copy{
    display:block!important;
    min-height:0!important;
    padding:24px 22px!important;
  }
}


/* =========================================================
   ROUND 46 : screenshot fixes
   - no visible "スワイプ" badge
   - carousel arrows + swipe
   - daily gifts horizontal scroll on SP
   - modal content not cut on SP
   ========================================================= */

/* 右上の「スワイプ」ラベルを完全非表示 */
.gift-image-carousel::before,
.creator-image-carousel::before,
.gift-carousel[data-images]::before,
.round41-carousel::before,
.round42-carousel::before,
.force-calendar-carousel::before{
  display:none!important;
  content:none!important;
}

/* カルーセルは <> ボタンで操作可能に */
.gift-image-carousel,
.creator-image-carousel,
.round41-carousel,
.round42-carousel,
.force-calendar-carousel{
  position:relative!important;
  touch-action:pan-y!important;
}
.round46-carousel-arrow{
  position:absolute!important;
  top:50%!important;
  z-index:20!important;
  width:34px!important;
  height:34px!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.55)!important;
  border-radius:999px!important;
  background:rgba(20,15,10,.44)!important;
  color:#fffaf2!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:25px!important;
  line-height:1!important;
  transform:translateY(-50%)!important;
  cursor:pointer!important;
  backdrop-filter:blur(4px)!important;
}
.round46-carousel-prev{
  left:10px!important;
}
.round46-carousel-next{
  right:10px!important;
}
@media(max-width:900px){
  .round46-carousel-arrow{
    width:30px!important;
    height:30px!important;
    font-size:22px!important;
    background:rgba(20,15,10,.42)!important;
  }
  .round46-carousel-prev{
    left:8px!important;
  }
  .round46-carousel-next{
    right:8px!important;
  }
}

/* この日に贈るなら：スマホは横スクロール。小さい2列で潰さない */
@media(max-width:900px){
  .daily-slider.glass-card{
    padding:22px 0 22px 18px!important;
    border-radius:26px!important;
    overflow:hidden!important;
  }
  .daily-slider .section-title-row{
    padding-right:18px!important;
    margin-bottom:16px!important;
  }
  .daily-slider .section-title-row h2{
    font-size:26px!important;
    line-height:1.2!important;
    letter-spacing:-.04em!important;
    white-space:nowrap!important;
  }
  .daily-slider .slider-window{
    overflow:visible!important;
  }
  #dailyTrack,
  .daily-slider .slider-track{
    display:flex!important;
    gap:14px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
    padding:0 18px 10px 0!important;
    transform:none!important;
  }
  #dailyTrack .daily-item,
  .daily-slider .daily-item,
  .daily-slider .daily-item:first-child{
    flex:0 0 74vw!important;
    width:74vw!important;
    min-width:74vw!important;
    max-width:74vw!important;
    height:310px!important;
    min-height:310px!important;
    border-radius:24px!important;
    scroll-snap-align:start!important;
    overflow:hidden!important;
  }
  .daily-slider .daily-item .item-body,
  .daily-slider .daily-item:first-child .item-body{
    left:18px!important;
    right:18px!important;
    bottom:18px!important;
    top:auto!important;
    padding:0!important;
  }
  .daily-slider .daily-item h3,
  .daily-slider .daily-item:first-child h3{
    font-size:21px!important;
    line-height:1.25!important;
    letter-spacing:-.035em!important;
    margin:0 0 8px!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
    white-space:normal!important;
  }
  .daily-slider .daily-item p{
    font-size:12px!important;
    line-height:1.55!important;
    margin:0 0 8px!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
  }
  .daily-slider .daily-item strong{
    font-size:14px!important;
    margin-bottom:7px!important;
  }
  .daily-slider .daily-item span{
    font-size:12px!important;
    white-space:nowrap!important;
  }
  .daily-slider .daily-item small{
    display:none!important;
  }
}

/* この日に贈るなら：画像のぼかしは少しだけ */
.daily-slider .daily-item > .gift-image-single img,
.daily-slider .daily-item > .gift-image-carousel img,
.daily-slider .daily-item .gift-image-track img,
#dailyTrack .daily-item > .gift-image-single img,
#dailyTrack .daily-item > .gift-image-carousel img,
#dailyTrack .daily-item .gift-image-track img{
  filter:blur(.35px) brightness(.97) saturate(.98)!important;
  transform:scale(1.012)!important;
}

/* POPUPがスマホで切れないように、モーダル自体をスクロール可能に */
@media(max-width:900px){
  body.modal-open{
    overflow:hidden!important;
  }
  .modal.open,
  #quickGiftModal.open,
  #calendarModal.open,
  #giftweenPicksModal.open,
  #editorPickModal.open,
  #rankingModal.open,
  #searchGiftModal.open{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:center!important;
    padding:12px!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    z-index:999999!important;
  }
  .modal.open .modal-box,
  #quickGiftModal.open .modal-box,
  #calendarModal.open .modal-box,
  #giftweenPicksModal.open .modal-box,
  #editorPickModal.open .modal-box,
  #rankingModal.open .modal-box,
  #searchGiftModal.open .modal-box{
    width:calc(100vw - 24px)!important;
    max-width:calc(100vw - 24px)!important;
    max-height:none!important;
    min-height:0!important;
    margin:0 auto 20px!important;
    overflow:visible!important;
    border-radius:24px!important;
  }
  .quick-gift-detail,
  .editor-pick-detail,
  .giftween-pick-detail,
  .calendar-pop-detail,
  .round41-detail,
  .round42-detail,
  .force-calendar-detail{
    display:block!important;
    max-height:none!important;
    min-height:0!important;
    overflow:visible!important;
  }
  .quick-gift-detail-media,
  .giftween-pick-detail-media,
  .calendar-pop-media,
  .round41-detail-media,
  .round42-detail-media,
  .force-calendar-media{
    width:100%!important;
    height:260px!important;
    min-height:260px!important;
    max-height:260px!important;
    overflow:hidden!important;
    border-radius:24px 24px 0 0!important;
  }
  .quick-gift-detail-media .gift-image-carousel,
  .quick-gift-detail-media .gift-image-single,
  .giftween-pick-detail-media .gift-image-carousel,
  .calendar-pop-media .gift-image-carousel,
  .round41-carousel,
  .round42-carousel,
  .force-calendar-carousel{
    height:260px!important;
    min-height:260px!important;
    max-height:260px!important;
  }
  .quick-gift-detail-copy,
  .giftween-pick-detail-copy,
  .calendar-pop-copy,
  .round41-detail-copy,
  .round42-detail-copy,
  .force-calendar-copy{
    padding:24px 20px 28px!important;
    max-height:none!important;
    overflow:visible!important;
  }
  .quick-gift-detail-copy h2,
  .giftween-pick-detail-copy h2,
  .calendar-pop-copy h2,
  .round41-detail-copy h2,
  .round42-detail-copy h2,
  .force-calendar-copy h2{
    font-size:28px!important;
    line-height:1.22!important;
    letter-spacing:-.04em!important;
    margin:0 0 12px!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
  }
  .quick-gift-detail-copy strong,
  .giftween-pick-detail-copy strong,
  .calendar-pop-copy strong,
  .round41-detail-copy strong,
  .round42-detail-copy strong,
  .force-calendar-copy strong{
    font-size:18px!important;
    line-height:1.2!important;
    margin:0 0 16px!important;
  }
  .quick-gift-detail-copy p,
  .giftween-pick-detail-copy p,
  .calendar-pop-copy p,
  .round41-detail-copy p,
  .round42-detail-copy p,
  .force-calendar-copy p{
    font-size:13px!important;
    line-height:1.75!important;
  }
  .quick-gift-detail-copy dl,
  .giftween-pick-detail-copy dl,
  .calendar-pop-copy dl,
  .round41-detail-copy dl,
  .round42-detail-copy dl,
  .force-calendar-copy dl{
    gap:12px!important;
    margin:20px 0!important;
  }
  .quick-gift-detail-copy dt,
  .giftween-pick-detail-copy dt,
  .calendar-pop-copy dt,
  .round41-detail-copy dt,
  .round42-detail-copy dt,
  .force-calendar-copy dt{
    font-size:11px!important;
    line-height:1.35!important;
  }
  .quick-gift-detail-copy dd,
  .giftween-pick-detail-copy dd,
  .calendar-pop-copy dd,
  .round41-detail-copy dd,
  .round42-detail-copy dd,
  .force-calendar-copy dd{
    font-size:13px!important;
    line-height:1.65!important;
  }
  .quick-gift-detail-copy a,
  .giftween-pick-detail-copy a,
  .calendar-pop-copy a,
  .round41-detail-copy a,
  .round42-detail-copy a,
  .force-calendar-copy a{
    width:100%!important;
    min-height:46px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin-top:6px!important;
    white-space:nowrap!important;
  }
}

/* POPUP PC側も大きすぎる画像を抑える */
@media(min-width:901px){
  .quick-gift-detail,
  .giftween-pick-detail,
  .calendar-pop-detail,
  .round41-detail,
  .round42-detail,
  .force-calendar-detail{
    max-height:calc(100vh - 56px)!important;
  }
  .quick-gift-detail-media,
  .giftween-pick-detail-media,
  .calendar-pop-media,
  .round41-detail-media,
  .round42-detail-media,
  .force-calendar-media{
    min-height:560px!important;
    max-height:calc(100vh - 56px)!important;
  }
  .quick-gift-detail-copy,
  .giftween-pick-detail-copy,
  .calendar-pop-copy,
  .round41-detail-copy,
  .round42-detail-copy,
  .force-calendar-copy{
    max-height:calc(100vh - 56px)!important;
    overflow-y:auto!important;
  }
}


/* =========================================================
   ROUND 47 : select size / one-card record view / popup restore
   ========================================================= */

/* 検索セレクト：スマホの選択肢が小さすぎる問題を補強 */
.axis-search-form-v2 select,
.axis-search-form-v2 option,
.axis-search-form-v2 input,
.search-panel select,
.search-panel option,
.search-panel input{
  font-size:16px!important;
  line-height:1.45!important;
}
@media(max-width:900px){
  .axis-search-form-v2 select,
  .axis-search-form-v2 option,
  .axis-search-form-v2 input,
  .search-panel select,
  .search-panel option,
  .search-panel input{
    font-size:16px!important;
    line-height:1.5!important;
    min-height:48px!important;
  }
  .axis-search-form-v2 label span,
  .search-panel label span{
    font-size:12px!important;
  }
}

/* 今だからこそ / Creator Picks：スマホは横スクロールではなく1枚ずつ切り替え */
.record-card-controls{
  display:none;
}
@media(max-width:900px){
  #quickLayout,
  #giftweenPicksRow.giftween-picks-row{
    display:block!important;
    position:relative!important;
    overflow:hidden!important;
    width:100%!important;
    min-height:0!important;
    padding:0!important;
  }

  #quickLayout .quick-gift-card,
  #giftweenPicksRow .giftween-pick-card{
    display:none!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    flex:none!important;
    margin:0!important;
    opacity:0!important;
    transform:translateY(8px)!important;
    transition:opacity .28s ease, transform .28s ease!important;
  }

  #quickLayout .quick-gift-card.is-active,
  #quickLayout .quick-gift-card:first-child:not(.is-hidden),
  #giftweenPicksRow .giftween-pick-card.is-active,
  #giftweenPicksRow .giftween-pick-card:first-child:not(.is-hidden){
    display:block!important;
    opacity:1!important;
    transform:none!important;
  }

  #quickLayout .quick-gift-card{
    height:390px!important;
    min-height:390px!important;
    border-radius:28px!important;
    cursor:pointer!important;
  }

  #giftweenPicksRow .giftween-pick-card{
    height:420px!important;
    min-height:420px!important;
    border-radius:30px!important;
  }

  .record-card-controls{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:14px!important;
    margin:16px 0 0!important;
  }
  .record-card-arrow{
    width:42px!important;
    height:42px!important;
    padding:0!important;
    border:1px solid rgba(42,33,25,.2)!important;
    border-radius:999px!important;
    background:#1d140f!important;
    color:#fffaf2!important;
    font-size:30px!important;
    line-height:1!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
  }
  .record-card-dots{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
  }
  .record-card-dots button{
    width:7px!important;
    height:7px!important;
    padding:0!important;
    border:0!important;
    border-radius:50%!important;
    background:rgba(29,20,15,.24)!important;
  }
  .record-card-dots button.active{
    width:18px!important;
    border-radius:999px!important;
    background:#1d140f!important;
  }

  #quickMoreWrap{
    display:none!important;
  }

  #quickLayout .quick-card-body{
    left:24px!important;
    right:24px!important;
    bottom:24px!important;
  }
  #quickLayout .quick-card-body h3{
    font-size:26px!important;
    line-height:1.22!important;
    letter-spacing:-.04em!important;
    margin:0 0 10px!important;
    white-space:normal!important;
  }
  #quickLayout .quick-card-body p{
    font-size:14px!important;
    line-height:1.65!important;
    margin:0 0 12px!important;
  }

  .giftween-picks-section{
    margin-bottom:42px!important;
  }
  .giftween-picks-more{
    margin-top:18px!important;
  }
}

/* PCはこれまで通りカード並びを維持 */
@media(min-width:901px){
  #quickLayout{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:18px!important;
  }
  #giftweenPicksRow.giftween-picks-row{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:18px!important;
  }
}

/* 今だからこそPOPUP：必ず上に出て、スマホで切れない */
#quickGiftModal.open{
  display:flex!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  z-index:999999!important;
}
.round47-detail{
  display:grid!important;
  grid-template-columns:minmax(360px,48%) minmax(0,52%)!important;
  max-height:calc(100vh - 48px)!important;
  overflow:hidden!important;
  background:#fffdf9!important;
}
.round47-detail-media{
  min-height:560px!important;
  overflow:hidden!important;
  background:#efe5d8!important;
}
.round47-modal-carousel{
  position:relative!important;
  width:100%!important;
  height:100%!important;
  min-height:560px!important;
  overflow:hidden!important;
}
.round47-modal-carousel img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  opacity:0!important;
  transition:opacity .35s ease!important;
}
.round47-modal-carousel img.is-active{
  opacity:1!important;
}
.round47-modal-arrow{
  position:absolute!important;
  top:50%!important;
  z-index:5!important;
  width:34px!important;
  height:34px!important;
  border:1px solid rgba(255,255,255,.55)!important;
  border-radius:999px!important;
  background:rgba(20,15,10,.44)!important;
  color:#fffaf2!important;
  font-size:25px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  transform:translateY(-50%)!important;
}
.round47-modal-prev{left:10px!important;}
.round47-modal-next{right:10px!important;}
.round47-modal-dots{
  position:absolute!important;
  left:50%!important;
  bottom:16px!important;
  z-index:5!important;
  display:flex!important;
  gap:7px!important;
  transform:translateX(-50%)!important;
}
.round47-modal-dots button{
  width:7px!important;
  height:7px!important;
  border:0!important;
  padding:0!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.5)!important;
}
.round47-modal-dots button.active{
  background:#fff!important;
}
.round47-detail-copy{
  max-height:calc(100vh - 48px)!important;
  overflow-y:auto!important;
  padding:46px 44px!important;
}
.round47-detail-copy h2{
  margin:0 0 14px!important;
  color:#17130f!important;
  font-size:clamp(32px,3vw,44px)!important;
  line-height:1.18!important;
}
.round47-detail-copy strong{
  display:block!important;
  margin-bottom:18px!important;
  color:#9a5b38!important;
}
.round47-detail-copy dl{
  display:grid!important;
  gap:14px!important;
  margin:22px 0!important;
}
.round47-detail-copy dt{
  margin:0 0 5px!important;
  color:#a66642!important;
  font-size:12px!important;
  letter-spacing:.08em!important;
}
.round47-detail-copy dd{
  margin:0!important;
  color:#28231f!important;
  font-size:15px!important;
  line-height:1.7!important;
}
.round47-detail-copy a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:44px!important;
  padding:0 22px!important;
  border-radius:999px!important;
  background:#17130f!important;
  color:#fffaf2!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
@media(max-width:900px){
  #quickGiftModal.open{
    display:flex!important;
    align-items:flex-start!important;
    justify-content:center!important;
    padding:12px!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
  #quickGiftModal.open .modal-box{
    width:calc(100vw - 24px)!important;
    max-width:calc(100vw - 24px)!important;
    max-height:none!important;
    overflow:visible!important;
    border-radius:24px!important;
  }
  .round47-detail{
    display:block!important;
    max-height:none!important;
    overflow:visible!important;
  }
  .round47-detail-media,
  .round47-modal-carousel{
    height:260px!important;
    min-height:260px!important;
    max-height:260px!important;
  }
  .round47-detail-copy{
    max-height:none!important;
    overflow:visible!important;
    padding:24px 20px 28px!important;
  }
  .round47-detail-copy h2{
    font-size:28px!important;
    line-height:1.22!important;
    letter-spacing:-.04em!important;
  }
  .round47-detail-copy dd{
    font-size:13px!important;
    line-height:1.65!important;
  }
  .round47-detail-copy a{
    width:100%!important;
  }
}

/* 月表示は折り返さない */
#calendarTitle{
  white-space:nowrap!important;
}


/* =========================================================
   ROUND 48 : custom select / reliable card switch / autoplay feel
   ========================================================= */

/* Native select stays for PC fallback, but mobile uses custom readable select */
.round48-select{
  display:none;
}
@media(max-width:900px){
  .axis-search-form-v2 label{
    position:relative!important;
  }
  .axis-search-form-v2 label select{
    position:absolute!important;
    opacity:0!important;
    pointer-events:none!important;
    width:1px!important;
    height:1px!important;
  }
  .round48-select{
    display:block!important;
    position:relative!important;
    width:100%!important;
    z-index:40!important;
  }
  .round48-select-button{
    width:100%!important;
    min-height:50px!important;
    padding:0 42px 0 16px!important;
    border:1px solid #d3b49a!important;
    border-radius:14px!important;
    background:#fffaf4!important;
    color:#2a2119!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    font-size:16px!important;
    line-height:1.45!important;
    font-family:inherit!important;
    text-align:left!important;
    box-shadow:none!important;
  }
  .round48-select-value{
    display:block!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:16px!important;
    line-height:1.45!important;
  }
  .round48-select-arrow{
    position:absolute!important;
    right:15px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    color:#735d4a!important;
    font-size:17px!important;
    line-height:1!important;
    pointer-events:none!important;
  }
  .round48-select-menu{
    display:none!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:calc(100% + 6px)!important;
    z-index:99999!important;
    max-height:260px!important;
    overflow:auto!important;
    padding:6px!important;
    border:1px solid #d3b49a!important;
    border-radius:14px!important;
    background:#fffaf4!important;
    box-shadow:0 18px 42px rgba(35,24,16,.22)!important;
  }
  .round48-select.open .round48-select-menu{
    display:block!important;
  }
  .round48-select-option{
    width:100%!important;
    min-height:44px!important;
    padding:0 12px!important;
    border:0!important;
    border-radius:10px!important;
    background:transparent!important;
    color:#2a2119!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    font-size:16px!important;
    line-height:1.45!important;
    font-family:inherit!important;
    text-align:left!important;
    white-space:nowrap!important;
  }
  .round48-select-option.active{
    background:#1d140f!important;
    color:#fffaf2!important;
  }
}

/* 1枚表示カードの切替：first-child常時表示を無効化し、is-activeだけ表示 */
@media(max-width:900px){
  #quickLayout .quick-gift-card,
  #giftweenPicksRow .giftween-pick-card{
    display:none!important;
    opacity:0!important;
    transform:translateX(18px) scale(.985)!important;
    transition:opacity .32s ease, transform .32s ease!important;
    pointer-events:none!important;
  }
  #quickLayout .quick-gift-card.is-active,
  #giftweenPicksRow .giftween-pick-card.is-active{
    display:block!important;
    opacity:1!important;
    transform:translateX(0) scale(1)!important;
    pointer-events:auto!important;
  }
  #quickLayout .quick-gift-card:first-child:not(.is-active),
  #giftweenPicksRow .giftween-pick-card:first-child:not(.is-active){
    display:none!important;
  }
  #quickLayout .quick-gift-card:not(.is-active),
  #giftweenPicksRow .giftween-pick-card:not(.is-active){
    display:none!important;
  }

  /* ボタンを少し“動かせるUI”に見せる */
  .record-card-controls{
    margin:14px 0 2px!important;
  }
  .record-card-arrow{
    transition:transform .18s ease, background .18s ease!important;
  }
  .record-card-arrow:active{
    transform:scale(.92)!important;
  }
  .record-card-dots button{
    transition:width .2s ease, background .2s ease!important;
  }

  /* Creator Picks / 今だからこそのカードは1枚を大きく見せる */
  #quickLayout .quick-gift-card{
    height:392px!important;
    min-height:392px!important;
  }
  #giftweenPicksRow .giftween-pick-card{
    height:424px!important;
    min-height:424px!important;
  }
}

/* Search panel custom select needs to sit above other cards when open */
@media(max-width:900px){
  .search-panel,
  .axis-search-section{
    position:relative!important;
    z-index:20!important;
    overflow:visible!important;
  }
  .axis-search-form-v2{
    overflow:visible!important;
  }
}


/* =========================================================
   ROUND 49 : restore search selects + prevent blank record cards
   ========================================================= */

/* round48 custom selectを無効化し、native selectを必ず表示 */
.round48-select,
.round48-select-menu,
.round48-select-button{
  display:none!important;
}
@media(max-width:900px){
  .axis-search-form-v2 label select,
  .search-panel label select,
  .axis-search-form-v2 select,
  .search-panel select{
    position:relative!important;
    opacity:1!important;
    pointer-events:auto!important;
    display:block!important;
    width:100%!important;
    height:50px!important;
    min-height:50px!important;
    padding:0 42px 0 16px!important;
    border:1px solid #d3b49a!important;
    border-radius:14px!important;
    background:#fffaf4!important;
    color:#2a2119!important;
    font-size:16px!important;
    line-height:1.45!important;
    font-family:inherit!important;
    -webkit-appearance:none!important;
    appearance:none!important;
  }
  .axis-search-form-v2 label::after{
    content:""!important;
    position:absolute!important;
    right:16px!important;
    bottom:20px!important;
    width:8px!important;
    height:8px!important;
    border-right:1.5px solid #735d4a!important;
    border-bottom:1.5px solid #735d4a!important;
    transform:rotate(45deg)!important;
    pointer-events:none!important;
  }
  .axis-search-form-v2 option,
  .search-panel option{
    font-size:18px!important;
    line-height:1.6!important;
  }
}

/* 1枚表示カード：全消え防止。is-activeのみ表示、ただしJS前はfirst-childを表示 */
@media(max-width:900px){
  #quickLayout,
  #giftweenPicksRow.giftween-picks-row{
    display:block!important;
    position:relative!important;
    overflow:hidden!important;
    width:100%!important;
    min-height:390px!important;
  }

  #giftweenPicksRow.giftween-picks-row{
    min-height:424px!important;
  }

  #quickLayout .quick-gift-card,
  #giftweenPicksRow .giftween-pick-card{
    display:none!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    opacity:0!important;
    transform:translateX(16px) scale(.985)!important;
    pointer-events:none!important;
  }

  #quickLayout .quick-gift-card.is-active,
  #giftweenPicksRow .giftween-pick-card.is-active{
    display:block!important;
    opacity:1!important;
    transform:translateX(0) scale(1)!important;
    pointer-events:auto!important;
  }

  /* JS実行前の保険。ただしis-activeがある場合はJS/CSSが上書き */
  #quickLayout .quick-gift-card:first-child,
  #giftweenPicksRow .giftween-pick-card:first-child{
    display:block!important;
    opacity:1!important;
    transform:none!important;
    pointer-events:auto!important;
  }

  /* hiddenが付いたものは明確に非表示 */
  #quickLayout .quick-gift-card.is-hidden,
  #giftweenPicksRow .giftween-pick-card.is-hidden{
    display:none!important;
    opacity:0!important;
    pointer-events:none!important;
  }

  #quickLayout .quick-gift-card{
    height:392px!important;
    min-height:392px!important;
    border-radius:28px!important;
  }
  #giftweenPicksRow .giftween-pick-card{
    height:424px!important;
    min-height:424px!important;
    border-radius:30px!important;
  }
}

/* record arrows stay visible and tappable */
@media(max-width:900px){
  .record-card-controls{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:14px!important;
    margin:14px 0 2px!important;
  }
  .record-card-arrow{
    position:relative!important;
    z-index:5!important;
    pointer-events:auto!important;
  }
  .record-card-dots button{
    pointer-events:auto!important;
  }
}


/* =========================================================
   ROUND 50 : final custom select + reliable slider controls
   ========================================================= */

/* スマホではOS標準selectではなく、文字サイズを制御できるカスタム選択UIを表示 */
.round50-select{
  display:none;
}
@media(max-width:900px){
  .axis-search-form-v2,
  .axis-search-form-v2 label,
  .search-panel{
    overflow:visible!important;
  }

  .axis-search-form-v2 label select{
    position:absolute!important;
    opacity:0!important;
    pointer-events:none!important;
    width:1px!important;
    height:1px!important;
    min-height:1px!important;
    left:0!important;
    bottom:0!important;
    padding:0!important;
    border:0!important;
  }

  .round50-select{
    display:block!important;
    position:relative!important;
    width:100%!important;
    z-index:80!important;
  }

  .round50-select-button{
    width:100%!important;
    min-height:50px!important;
    height:50px!important;
    padding:0 42px 0 16px!important;
    border:1px solid #d3b49a!important;
    border-radius:14px!important;
    background:#fffaf4!important;
    color:#2a2119!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    font-family:inherit!important;
    font-size:16px!important;
    line-height:1.45!important;
    text-align:left!important;
    box-shadow:none!important;
  }

  .round50-select-value{
    display:block!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:16px!important;
    line-height:1.45!important;
  }

  .round50-select-arrow{
    position:absolute!important;
    right:15px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    font-size:18px!important;
    line-height:1!important;
    color:#735d4a!important;
    pointer-events:none!important;
  }

  .round50-select-menu{
    display:none!important;
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:calc(100% + 6px)!important;
    z-index:999999!important;
    max-height:280px!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch!important;
    padding:6px!important;
    border:1px solid #d3b49a!important;
    border-radius:14px!important;
    background:#fffaf4!important;
    box-shadow:0 18px 44px rgba(35,24,16,.24)!important;
  }

  .round50-select.open .round50-select-menu{
    display:block!important;
  }

  .round50-select-option{
    width:100%!important;
    min-height:46px!important;
    padding:0 13px!important;
    border:0!important;
    border-radius:10px!important;
    background:transparent!important;
    color:#2a2119!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    font-family:inherit!important;
    font-size:17px!important;
    line-height:1.45!important;
    text-align:left!important;
    white-space:nowrap!important;
  }

  .round50-select-option.active{
    background:#1d140f!important;
    color:#fffaf2!important;
  }

  .axis-search-form-v2 label::after{
    display:none!important;
    content:none!important;
  }
}

/* 今だからこそ / Creator Picks：スマホは必ず1枚だけ表示、矢印・ドットで切り替え */
@media(max-width:900px){
  #quickLayout,
  #giftweenPicksRow.giftween-picks-row{
    display:block!important;
    position:relative!important;
    overflow:hidden!important;
    width:100%!important;
  }

  #quickLayout{
    min-height:392px!important;
  }

  #giftweenPicksRow.giftween-picks-row{
    min-height:424px!important;
  }

  #quickLayout .quick-gift-card,
  #giftweenPicksRow .giftween-pick-card{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    transition:opacity .28s ease, transform .28s ease!important;
  }

  #quickLayout .quick-gift-card:not(.is-active),
  #giftweenPicksRow .giftween-pick-card:not(.is-active){
    display:none!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }

  #quickLayout .quick-gift-card.is-active,
  #giftweenPicksRow .giftween-pick-card.is-active{
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
    transform:translateX(0) scale(1)!important;
    pointer-events:auto!important;
  }

  #quickLayout .quick-gift-card{
    height:392px!important;
    min-height:392px!important;
    border-radius:28px!important;
  }

  #giftweenPicksRow .giftween-pick-card{
    height:424px!important;
    min-height:424px!important;
    border-radius:30px!important;
  }

  .record-card-controls{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:14px!important;
    margin:14px 0 2px!important;
    position:relative!important;
    z-index:5!important;
  }

  .record-card-arrow{
    width:42px!important;
    height:42px!important;
    padding:0!important;
    border:1px solid rgba(42,33,25,.2)!important;
    border-radius:999px!important;
    background:#1d140f!important;
    color:#fffaf2!important;
    font-size:30px!important;
    line-height:1!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    pointer-events:auto!important;
    touch-action:manipulation!important;
    cursor:pointer!important;
  }

  .record-card-arrow:active{
    transform:scale(.92)!important;
  }

  .record-card-dots{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
  }

  .record-card-dots button,
  .record-card-dots [data-r50-index]{
    width:7px!important;
    height:7px!important;
    padding:0!important;
    border:0!important;
    border-radius:50%!important;
    background:rgba(29,20,15,.24)!important;
    cursor:pointer!important;
  }

  .record-card-dots button.active,
  .record-card-dots [data-r50-index].active{
    width:18px!important;
    border-radius:999px!important;
    background:#1d140f!important;
  }
}


/* =========================================================
   ROUND 51 : final visible controls / select menu no overlap / button CTA / calendar title
   ========================================================= */

/* セレクトメニュー：開いた時に下へ展開して、他項目と被らない */
@media(max-width:900px){
  .round50-select{
    display:block!important;
    position:relative!important;
    width:100%!important;
    z-index:80!important;
  }
  .round50-select.open{
    z-index:9999!important;
  }
  .round50-select-menu{
    position:static!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    width:100%!important;
    max-height:none!important;
    overflow:visible!important;
    margin-top:7px!important;
    padding:7px!important;
    border:1px solid #d3b49a!important;
    border-radius:14px!important;
    background:#fffaf4!important;
    box-shadow:0 14px 36px rgba(35,24,16,.16)!important;
  }
  .round50-select-option{
    min-height:46px!important;
    font-size:17px!important;
    line-height:1.45!important;
    padding:0 14px!important;
    white-space:nowrap!important;
  }
  .axis-search-form-v2{
    align-items:start!important;
  }
  .axis-search-form-v2 label{
    align-self:start!important;
  }
}

/* 全カルーセル共通：矢印とドットを強制表示。自動ではなく手動で見られるUI */
.gift-image-carousel,
.creator-image-carousel,
.round47-modal-carousel,
.round42-carousel,
.force-calendar-carousel,
.round41-carousel,
.giftween-pick-detail-media,
.quick-gift-detail-media,
.calendar-pop-media{
  position:relative!important;
  overflow:hidden!important;
  touch-action:pan-y!important;
}

.round51-carousel-arrow{
  position:absolute!important;
  top:50%!important;
  z-index:50!important;
  width:34px!important;
  height:34px!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.64)!important;
  border-radius:999px!important;
  background:rgba(20,15,10,.52)!important;
  color:#fffaf2!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:25px!important;
  line-height:1!important;
  transform:translateY(-50%)!important;
  cursor:pointer!important;
  pointer-events:auto!important;
  backdrop-filter:blur(4px)!important;
}
.round51-carousel-prev{
  left:10px!important;
}
.round51-carousel-next{
  right:10px!important;
}
.round51-carousel-dots{
  position:absolute!important;
  left:50%!important;
  bottom:12px!important;
  z-index:55!important;
  display:flex!important;
  gap:7px!important;
  transform:translateX(-50%)!important;
  pointer-events:auto!important;
}
.round51-carousel-dots button{
  width:7px!important;
  height:7px!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.48)!important;
}
.round51-carousel-dots button.active{
  width:18px!important;
  border-radius:999px!important;
  background:#fff!important;
}
@media(max-width:900px){
  .round51-carousel-arrow{
    width:32px!important;
    height:32px!important;
    font-size:23px!important;
  }
  .round51-carousel-prev{left:8px!important;}
  .round51-carousel-next{right:8px!important;}
}

/* 「このギフトを見る →」を文字リンクではなくボタン風に */
.quick-card-body span,
.daily-item .item-body span,
.gift-card-overlay em,
.ranking-card span:last-child,
.article-hint-card span,
.journal-card span,
.journal-final-card span{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:32px!important;
  padding:0 14px!important;
  border-radius:999px!important;
  background:#fffaf2!important;
  color:#1d140f!important;
  font-size:12px!important;
  line-height:1!important;
  white-space:nowrap!important;
  text-shadow:none!important;
  box-shadow:0 8px 24px rgba(0,0,0,.12)!important;
}
.quick-card-body span::after,
.daily-item .item-body span::after{
  content:""!important;
}
.quick-card-body span,
.daily-item .item-body span{
  margin-top:2px!important;
}

/* POPUP画像比率をスマホで揃える */
@media(max-width:900px){
  .quick-gift-detail-media,
  .giftween-pick-detail-media,
  .calendar-pop-media,
  .round47-detail-media,
  .round42-detail-media,
  .force-calendar-media,
  .round41-detail-media{
    height:240px!important;
    min-height:240px!important;
    max-height:240px!important;
  }
  .quick-gift-detail-media img,
  .giftween-pick-detail-media img,
  .calendar-pop-media img,
  .round47-detail-media img,
  .round42-detail-media img,
  .force-calendar-media img,
  .round41-detail-media img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
  }
  .quick-gift-detail-copy,
  .giftween-pick-detail-copy,
  .calendar-pop-copy,
  .round47-detail-copy,
  .round42-detail-copy,
  .force-calendar-copy,
  .round41-detail-copy{
    padding-top:22px!important;
  }
}

/* この日に贈るなら：カード画像のサイズを揃える */
@media(max-width:900px){
  #dailyTrack .daily-item,
  .daily-slider .daily-item{
    height:310px!important;
    min-height:310px!important;
  }
  #dailyTrack .daily-item .gift-image-single,
  #dailyTrack .daily-item .gift-image-carousel,
  #dailyTrack .daily-item .gift-image-track,
  .daily-slider .daily-item .gift-image-single,
  .daily-slider .daily-item .gift-image-carousel,
  .daily-slider .daily-item .gift-image-track{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
  }
  #dailyTrack .daily-item img,
  .daily-slider .daily-item img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
  }
}

/* カレンダー月表示 */
#calendarTitle{
  white-space:nowrap!important;
  text-transform:none!important;
}


/* =========================================================
   ROUND 52 : fix select overlay / remove white mystery pill / robust carousel
   ========================================================= */

/* セレクト：文字は大きすぎず、開いても下に余白を作らないオーバーレイ表示 */
@media(max-width:900px){
  .round50-select{
    display:block!important;
    position:relative!important;
    width:100%!important;
    z-index:90!important;
  }
  .round50-select.open{
    z-index:99999!important;
  }
  .round50-select-button{
    min-height:48px!important;
    height:48px!important;
    padding:0 40px 0 14px!important;
    font-size:14px!important;
    line-height:1.4!important;
  }
  .round50-select-value{
    font-size:14px!important;
    line-height:1.4!important;
  }
  .round50-select-arrow{
    font-size:14px!important;
    right:14px!important;
  }
  .round50-select-menu{
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:calc(100% + 5px)!important;
    z-index:999999!important;
    width:100%!important;
    max-height:228px!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch!important;
    margin-top:0!important;
    padding:6px!important;
    border:1px solid #d3b49a!important;
    border-radius:14px!important;
    background:#fffaf4!important;
    box-shadow:0 16px 40px rgba(35,24,16,.22)!important;
  }
  .round50-select-option{
    min-height:40px!important;
    padding:0 12px!important;
    font-size:14px!important;
    line-height:1.4!important;
    white-space:nowrap!important;
  }
}

/* 白い謎のボタン化しているカード内CTAは非表示。カード全体クリックで詳細を見る */
#quickLayout .quick-card-body span,
#dailyTrack .daily-item .item-body span,
.daily-slider .daily-item .item-body span{
  display:none!important;
}

/* POPUP内のCTAだけはボタンとして表示 */
.quick-gift-detail-copy a,
.giftween-pick-detail-copy a,
.calendar-pop-copy a,
.round47-detail-copy a,
.round42-detail-copy a,
.force-calendar-copy a,
.round41-detail-copy a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:44px!important;
  padding:0 22px!important;
  border-radius:999px!important;
  background:#17130f!important;
  color:#fffaf2!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}

/* 商品カード・POPUP画像の比率崩れを修正 */
@media(max-width:900px){
  .quick-gift-detail-media,
  .giftween-pick-detail-media,
  .calendar-pop-media,
  .round47-detail-media,
  .round42-detail-media,
  .force-calendar-media,
  .round41-detail-media{
    position:relative!important;
    width:100%!important;
    height:250px!important;
    min-height:250px!important;
    max-height:250px!important;
    overflow:hidden!important;
    background:#eee4d8!important;
    border-radius:24px 24px 0 0!important;
  }

  .quick-gift-detail-media .gift-image-carousel,
  .quick-gift-detail-media .gift-image-single,
  .quick-gift-detail-media .gift-image-track,
  .giftween-pick-detail-media .gift-image-carousel,
  .giftween-pick-detail-media .gift-image-single,
  .giftween-pick-detail-media .gift-image-track,
  .calendar-pop-media .gift-image-carousel,
  .calendar-pop-media .gift-image-single,
  .calendar-pop-media .gift-image-track,
  .round47-modal-carousel,
  .round42-carousel,
  .force-calendar-carousel,
  .round41-carousel{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    overflow:hidden!important;
  }

  .quick-gift-detail-media img,
  .giftween-pick-detail-media img,
  .calendar-pop-media img,
  .round47-modal-carousel img,
  .round42-carousel img,
  .force-calendar-carousel img,
  .round41-carousel img{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
  }
}

/* 全カルーセルに同じ ‹ › を出す */
.round52-carousel{
  position:relative!important;
  overflow:hidden!important;
  touch-action:pan-y!important;
}
.round52-carousel-arrow{
  position:absolute!important;
  top:50%!important;
  z-index:100!important;
  width:34px!important;
  height:34px!important;
  padding:0!important;
  border:1px solid rgba(255,255,255,.7)!important;
  border-radius:999px!important;
  background:rgba(20,15,10,.58)!important;
  color:#fffaf2!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:25px!important;
  line-height:1!important;
  transform:translateY(-50%)!important;
  cursor:pointer!important;
  pointer-events:auto!important;
}
.round52-carousel-prev{
  left:10px!important;
}
.round52-carousel-next{
  right:10px!important;
}
.round52-carousel-dots{
  position:absolute!important;
  left:50%!important;
  bottom:12px!important;
  z-index:110!important;
  display:flex!important;
  gap:7px!important;
  transform:translateX(-50%)!important;
  pointer-events:auto!important;
}
.round52-carousel-dots button{
  width:7px!important;
  height:7px!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.5)!important;
}
.round52-carousel-dots button.active{
  width:18px!important;
  border-radius:999px!important;
  background:#fff!important;
}
@media(max-width:900px){
  .round52-carousel-arrow{
    width:32px!important;
    height:32px!important;
    font-size:23px!important;
  }
  .round52-carousel-prev{left:8px!important;}
  .round52-carousel-next{right:8px!important;}
}

/* Creator Picks / 今だからこそ のカード切替を確実化 */
@media(max-width:900px){
  #quickLayout .quick-gift-card:not(.is-active),
  #giftweenPicksRow .giftween-pick-card:not(.is-active){
    display:none!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  #quickLayout .quick-gift-card.is-active,
  #giftweenPicksRow .giftween-pick-card.is-active{
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
}

/* この日に贈るなら：カード内テキスト量で崩れないようにする */
@media(max-width:900px){
  #dailyTrack .daily-item,
  .daily-slider .daily-item{
    height:300px!important;
    min-height:300px!important;
  }
  .daily-slider .daily-item .item-body{
    left:18px!important;
    right:18px!important;
    bottom:18px!important;
  }
  .daily-slider .daily-item h3{
    font-size:20px!important;
    line-height:1.25!important;
    margin-bottom:8px!important;
  }
  .daily-slider .daily-item p{
    font-size:12px!important;
    line-height:1.55!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
  }
}


/* =========================================================
   ROUND 53 : visible screenshot fixes
   ========================================================= */

/* WHO'S NEXT画像の黒余白を消して、画像を枠いっぱいに */
.interview-next-card img,
.interview-next-card .next-card-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  background:transparent!important;
  display:block!important;
}
.interview-next-card > img{
  height:260px!important;
  min-height:260px!important;
  border-radius:16px!important;
}
@media(max-width:900px){
  .interview-next-card > img{
    height:136px!important;
    min-height:136px!important;
    border-radius:12px!important;
  }
}

/* 商品カード上部画像の不自然な丸みをなくし、長方形に統一 */
.quick-gift-card,
.gift-card,
.daily-item,
.ranking-card,
.article-product-feature,
.calendar-gift-card,
.giftween-pick-card{
  overflow:hidden!important;
}
.quick-gift-card .gift-image-single,
.quick-gift-card .gift-image-carousel,
.gift-card-image,
.gift-card > img,
.daily-item .gift-image-single,
.daily-item .gift-image-carousel,
.ranking-image,
.article-product-image,
.article-product-carousel,
.calendar-gift-card img,
.quick-gift-detail-media,
.giftween-pick-detail-media,
.calendar-pop-media,
.round47-detail-media,
.force-calendar-media{
  border-radius:0!important;
}
.quick-gift-card .gift-image-single img,
.quick-gift-card .gift-image-carousel img,
.gift-card-image img,
.gift-card > img,
.daily-item .gift-image-single img,
.daily-item .gift-image-carousel img,
.ranking-image img,
.article-product-image img,
.article-product-carousel img,
.calendar-gift-card img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:0!important;
}

/* Creator Picksの説明文・CTAの見え方 */
.giftween-picks-head > p{
  max-width:520px!important;
  line-height:1.75!important;
}
.giftween-picks-more a{
  min-height:48px!important;
  padding:0 24px!important;
  border-radius:999px!important;
  background:#1d140f!important;
  color:#fffaf2!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}

/* この日に贈るなら：画像内の余計なカルーセルUIを消し、カード切替UIだけ残す */
#dailyTrack .round52-carousel-arrow,
#dailyTrack .round51-carousel-arrow,
#dailyTrack .round46-carousel-arrow,
#dailyTrack .gift-carousel-arrow,
#dailyTrack .round52-carousel-dots,
#dailyTrack .round51-carousel-dots,
#dailyTrack .gift-carousel-dots{
  display:none!important;
}

/* この日に贈るなら：スマホは1枚表示＋下の左右ボタンで切替 */
@media(max-width:900px){
  .daily-slider.glass-card{
    padding:22px 18px 24px!important;
    overflow:hidden!important;
  }
  #dailyTrack,
  .daily-slider .slider-track{
    display:block!important;
    width:100%!important;
    overflow:hidden!important;
    padding:0!important;
    min-height:310px!important;
  }
  #dailyTrack .daily-item,
  .daily-slider .daily-item{
    display:none!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:310px!important;
    min-height:310px!important;
    border-radius:20px!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  #dailyTrack .daily-item.is-active,
  .daily-slider .daily-item.is-active,
  #dailyTrack .daily-item:first-child:not(.is-hidden){
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }
  #dailyTrack .daily-item.is-hidden{
    display:none!important;
  }

  .daily-record-controls{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:14px!important;
    margin:14px 0 0!important;
  }
  .daily-record-controls .record-card-arrow{
    width:42px!important;
    height:42px!important;
    border-radius:999px!important;
    background:#1d140f!important;
    color:#fffaf2!important;
    font-size:30px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    pointer-events:auto!important;
  }
  .daily-record-controls .record-card-dots{
    display:flex!important;
    gap:7px!important;
    align-items:center!important;
  }
  .daily-record-controls .record-card-dots button{
    width:7px!important;
    height:7px!important;
    padding:0!important;
    border:0!important;
    border-radius:50%!important;
    background:rgba(29,20,15,.24)!important;
  }
  .daily-record-controls .record-card-dots button.active{
    width:18px!important;
    border-radius:999px!important;
    background:#1d140f!important;
  }
}

/* PCではdailyは従来通り複数表示 */
@media(min-width:901px){
  .daily-record-controls{
    display:none!important;
  }
}


/* =========================================================
   ROUND 54 : final visual fixes
   ========================================================= */

/* WHO'S NEXT：画像自体の黒余白をトリミングで消す */
.interview-next-card{
  overflow:hidden!important;
}
.interview-next-card > img{
  width:100%!important;
  height:260px!important;
  min-height:260px!important;
  object-fit:cover!important;
  object-position:center!important;
  transform:scale(1.16)!important;
  transform-origin:center!important;
  background:transparent!important;
  border-radius:16px!important;
  display:block!important;
}
@media(max-width:900px){
  .interview-next-card{
    padding:16px!important;
    background:#120f0c!important;
  }
  .interview-next-card > img{
    height:138px!important;
    min-height:138px!important;
    border-radius:12px!important;
    transform:scale(1.2)!important;
    object-position:center center!important;
  }
}

/* この日に贈るなら：外側の下ボタンは消し、画像内に ‹ › を表示 */
@media(max-width:900px){
  .daily-record-controls{
    display:none!important;
  }

  #dailyTrack,
  .daily-slider .slider-track{
    display:block!important;
    overflow:hidden!important;
    width:100%!important;
    min-height:310px!important;
    padding:0!important;
  }

  #dailyTrack .daily-item,
  .daily-slider .daily-item{
    position:relative!important;
    display:none!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:310px!important;
    min-height:310px!important;
    border-radius:20px!important;
    overflow:hidden!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }

  #dailyTrack .daily-item.is-active,
  .daily-slider .daily-item.is-active,
  #dailyTrack .daily-item:first-child:not(.is-hidden){
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  #dailyTrack .daily-item.is-hidden{
    display:none!important;
  }

  .daily-inside-arrow{
    position:absolute!important;
    top:50%!important;
    z-index:20!important;
    width:34px!important;
    height:34px!important;
    padding:0!important;
    border:1px solid rgba(255,255,255,.64)!important;
    border-radius:999px!important;
    background:rgba(20,15,10,.56)!important;
    color:#fffaf2!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:25px!important;
    line-height:1!important;
    transform:translateY(-50%)!important;
    pointer-events:auto!important;
    cursor:pointer!important;
  }

  .daily-inside-arrow-prev{
    left:10px!important;
  }

  .daily-inside-arrow-next{
    right:10px!important;
  }
}

/* 人気ランキング：スマホで商品カードが切れないようにする */
@media(max-width:900px){
  #ranking.ranking,
  .section.ranking{
    overflow:hidden!important;
    padding-left:0!important;
    padding-right:0!important;
    padding-bottom:44px!important;
  }

  #ranking .ranking-head{
    padding:0 18px!important;
  }

  .ranking-row.ranking-carousel{
    display:flex!important;
    gap:14px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    scroll-snap-type:x mandatory!important;
    padding:0 18px 18px!important;
    width:100%!important;
  }

  .ranking-row.ranking-carousel .ranking-card{
    flex:0 0 82vw!important;
    width:82vw!important;
    min-width:82vw!important;
    max-width:82vw!important;
    height:auto!important;
    min-height:390px!important;
    scroll-snap-align:start!important;
    border-radius:24px!important;
    overflow:hidden!important;
  }

  .ranking-card .ranking-image{
    width:100%!important;
    height:220px!important;
    min-height:220px!important;
    overflow:hidden!important;
    border-radius:0!important;
  }

  .ranking-card .ranking-image img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
  }

  .ranking-card .ranking-meta{
    padding:20px!important;
  }

  .ranking-card .ranking-meta h3{
    font-size:21px!important;
    line-height:1.28!important;
    margin:8px 0 8px!important;
  }
}

/* POPUP内ランキング/商品カードが背景に見切れて見える状態を避ける */
.modal.open{
  overflow-y:auto!important;
  overflow-x:hidden!important;
}
.modal.open .modal-box{
  margin-bottom:28px!important;
}


/* =========================================================
   ROUND 55 : quick popup restore / daily horizontal / ranking rebuild
   ========================================================= */

/* 今だからこそ：タップ時の変な色変化を消す */
#quickLayout .quick-gift-card,
#quickLayout .quick-gift-card *,
#quickLayout .quick-card-body,
#quickLayout .quick-card-body *{
  -webkit-tap-highlight-color:transparent!important;
}
#quickLayout .quick-gift-card:active,
#quickLayout .quick-gift-card:focus,
#quickLayout .quick-gift-card:hover{
  background:inherit!important;
  outline:none!important;
  filter:none!important;
}
#quickLayout .quick-gift-card:active img,
#quickLayout .quick-gift-card:focus img{
  filter:inherit!important;
  opacity:1!important;
}

/* 今だからこそPOPUPを最前面・スマホで切れない表示に */
#quickGiftModal.open{
  display:flex!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  z-index:999999!important;
}
.round55-detail{
  display:grid!important;
  grid-template-columns:minmax(360px,48%) minmax(0,52%)!important;
  background:#fffdf9!important;
  overflow:hidden!important;
  max-height:calc(100vh - 48px)!important;
}
.round55-detail-media{
  position:relative!important;
  min-height:560px!important;
  overflow:hidden!important;
  background:#eee4d8!important;
}
.round55-modal-carousel{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
  touch-action:pan-y!important;
}
.round55-modal-carousel img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  opacity:0!important;
  visibility:hidden!important;
  transition:opacity .35s ease!important;
}
.round55-modal-carousel img.is-active{
  opacity:1!important;
  visibility:visible!important;
}
.round55-modal-arrow{
  position:absolute!important;
  top:50%!important;
  z-index:5!important;
  width:34px!important;
  height:34px!important;
  border:1px solid rgba(255,255,255,.64)!important;
  border-radius:999px!important;
  background:rgba(20,15,10,.56)!important;
  color:#fffaf2!important;
  font-size:25px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  transform:translateY(-50%)!important;
}
.round55-modal-prev{left:10px!important;}
.round55-modal-next{right:10px!important;}
.round55-modal-dots{
  position:absolute!important;
  left:50%!important;
  bottom:12px!important;
  z-index:6!important;
  display:flex!important;
  gap:7px!important;
  transform:translateX(-50%)!important;
}
.round55-modal-dots button{
  width:7px!important;
  height:7px!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.5)!important;
}
.round55-modal-dots button.active{
  width:18px!important;
  border-radius:999px!important;
  background:#fff!important;
}
.round55-detail-copy{
  max-height:calc(100vh - 48px)!important;
  overflow-y:auto!important;
  padding:46px 44px!important;
}
.round55-detail-copy h2{
  margin:0 0 14px!important;
  font-size:clamp(32px,3vw,44px)!important;
  line-height:1.18!important;
  color:#17130f!important;
}
.round55-detail-copy strong{
  display:block!important;
  margin-bottom:18px!important;
  color:#9a5b38!important;
}
.round55-detail-copy dl{
  display:grid!important;
  gap:14px!important;
  margin:22px 0!important;
}
.round55-detail-copy dt{
  margin:0 0 5px!important;
  color:#a66642!important;
  font-size:12px!important;
  letter-spacing:.08em!important;
}
.round55-detail-copy dd{
  margin:0!important;
  color:#28231f!important;
  font-size:15px!important;
  line-height:1.7!important;
}
.round55-detail-copy a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:44px!important;
  padding:0 22px!important;
  border-radius:999px!important;
  background:#17130f!important;
  color:#fffaf2!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}
@media(max-width:900px){
  #quickGiftModal.open{
    align-items:flex-start!important;
    padding:12px!important;
    overflow-y:auto!important;
  }
  #quickGiftModal.open .modal-box{
    width:calc(100vw - 24px)!important;
    max-width:calc(100vw - 24px)!important;
    max-height:none!important;
    overflow:visible!important;
    border-radius:24px!important;
  }
  .round55-detail{
    display:block!important;
    max-height:none!important;
    overflow:visible!important;
  }
  .round55-detail-media{
    height:250px!important;
    min-height:250px!important;
    max-height:250px!important;
  }
  .round55-detail-copy{
    max-height:none!important;
    overflow:visible!important;
    padding:24px 20px 28px!important;
  }
  .round55-detail-copy h2{
    font-size:28px!important;
    line-height:1.22!important;
  }
}

/* この日に贈るなら：画像内矢印をやめて、横スクロール表示へ */
@media(max-width:900px){
  .daily-inside-arrow,
  #dailyTrack .daily-inside-arrow,
  .daily-record-controls{
    display:none!important;
  }
  .daily-slider.glass-card{
    padding:22px 0 24px 18px!important;
    overflow:hidden!important;
  }
  .daily-slider .section-title-row{
    padding-right:18px!important;
  }
  #dailyTrack,
  .daily-slider .slider-track{
    display:flex!important;
    gap:14px!important;
    width:100%!important;
    min-height:310px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    scroll-snap-type:x mandatory!important;
    padding:0 18px 10px 0!important;
    transform:none!important;
  }
  #dailyTrack .daily-item,
  .daily-slider .daily-item,
  #dailyTrack .daily-item.is-active,
  #dailyTrack .daily-item.is-hidden,
  .daily-slider .daily-item.is-active,
  .daily-slider .daily-item.is-hidden{
    display:block!important;
    flex:0 0 76vw!important;
    width:76vw!important;
    min-width:76vw!important;
    max-width:76vw!important;
    height:310px!important;
    min-height:310px!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    scroll-snap-align:start!important;
    border-radius:22px!important;
  }
}

/* 人気ランキング：カードが切れないようスマホ表示を根本調整 */
@media(max-width:900px){
  #ranking.ranking.dark,
  #ranking.ranking,
  .section.ranking{
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
    padding:34px 0 42px!important;
    margin:0!important;
  }
  #ranking .ranking-head{
    width:auto!important;
    padding:0 18px!important;
    margin:0 0 18px!important;
  }
  .ranking-row.ranking-carousel{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:14px!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    scroll-snap-type:x mandatory!important;
    padding:0 18px 18px!important;
    box-sizing:border-box!important;
  }
  .ranking-row.ranking-carousel .ranking-card{
    flex:0 0 78vw!important;
    width:78vw!important;
    min-width:78vw!important;
    max-width:78vw!important;
    height:380px!important;
    min-height:380px!important;
    max-height:380px!important;
    display:flex!important;
    flex-direction:column!important;
    scroll-snap-align:start!important;
    overflow:hidden!important;
    border-radius:24px!important;
    background:#17130f!important;
  }
  .ranking-row.ranking-carousel .ranking-card .ranking-image{
    flex:0 0 218px!important;
    width:100%!important;
    height:218px!important;
    min-height:218px!important;
    max-height:218px!important;
    overflow:hidden!important;
    border-radius:0!important;
  }
  .ranking-row.ranking-carousel .ranking-card .ranking-image img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
  }
  .ranking-row.ranking-carousel .ranking-card .ranking-meta{
    flex:1 1 auto!important;
    min-height:0!important;
    padding:18px!important;
    display:block!important;
    overflow:hidden!important;
  }
  .ranking-row.ranking-carousel .ranking-card .ranking-meta span{
    display:block!important;
    font-size:10px!important;
    line-height:1.2!important;
    margin-bottom:8px!important;
    white-space:nowrap!important;
  }
  .ranking-row.ranking-carousel .ranking-card .ranking-meta h3{
    font-size:20px!important;
    line-height:1.25!important;
    margin:0 0 8px!important;
    white-space:normal!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
  }
  .ranking-row.ranking-carousel .ranking-card .ranking-meta p{
    font-size:14px!important;
    margin:0!important;
  }
  .ranking-swipe-note{
    padding:0 18px!important;
    margin-top:4px!important;
  }
}


/* =========================================================
   ROUND 56 : hard reset popular ranking cards and popup
   ========================================================= */

/* 人気ランキングPOPUP：既存のカルーセル/余白指定を無視して、単一画像＋本文カードに戻す */
#rankingModal.open{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:center!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  padding:16px!important;
  z-index:999999!important;
}

#rankingModal.open .modal-box{
  width:min(760px,calc(100vw - 32px))!important;
  max-width:min(760px,calc(100vw - 32px))!important;
  max-height:none!important;
  min-height:0!important;
  padding:0!important;
  overflow:visible!important;
  border-radius:26px!important;
  background:#fffdf9!important;
}

#rankingModalBody{
  display:block!important;
  width:100%!important;
  min-height:0!important;
  overflow:visible!important;
  background:#fffdf9!important;
}

#rankingModalBody .ranking-detail,
#rankingModalBody .ranking-detail-image,
#rankingModalBody .gift-image-carousel,
#rankingModalBody .gift-image-track,
#rankingModalBody .round52-carousel,
#rankingModalBody .round51-carousel,
#rankingModalBody .round47-modal-carousel{
  display:none!important;
}

.ranking-modal-clean{
  display:block!important;
  width:100%!important;
  background:#fffdf9!important;
  overflow:hidden!important;
  border-radius:26px!important;
}

.ranking-modal-clean-image{
  position:relative!important;
  width:100%!important;
  height:280px!important;
  min-height:280px!important;
  max-height:280px!important;
  overflow:hidden!important;
  background:#eee4d8!important;
  border-radius:26px 26px 0 0!important;
}

.ranking-modal-clean-image img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:0!important;
}

.ranking-modal-clean-copy{
  display:block!important;
  padding:28px 28px 32px!important;
  background:#fffdf9!important;
  color:#28231f!important;
}

.ranking-modal-clean-copy h2{
  margin:0 0 12px!important;
  font-size:32px!important;
  line-height:1.22!important;
  letter-spacing:-.04em!important;
  color:#17130f!important;
}

.ranking-modal-clean-copy strong{
  display:block!important;
  margin:0 0 16px!important;
  color:#9a5b38!important;
  font-size:18px!important;
}

.ranking-modal-clean-copy p:not(.eyebrow){
  margin:0 0 18px!important;
  color:#5e554c!important;
  font-size:15px!important;
  line-height:1.75!important;
}

.ranking-modal-clean-copy dl{
  display:grid!important;
  gap:14px!important;
  margin:20px 0 24px!important;
}

.ranking-modal-clean-copy dt{
  margin:0 0 5px!important;
  color:#a66642!important;
  font-size:12px!important;
  letter-spacing:.08em!important;
}

.ranking-modal-clean-copy dd{
  margin:0!important;
  color:#28231f!important;
  font-size:14px!important;
  line-height:1.7!important;
}

.ranking-modal-clean-copy a{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:46px!important;
  padding:0 24px!important;
  border-radius:999px!important;
  background:#17130f!important;
  color:#fffaf2!important;
  text-decoration:none!important;
  white-space:nowrap!important;
}

/* 人気ランキング本体：スマホで商品カードが切れないように作り直し */
@media(max-width:900px){
  #ranking.ranking.dark{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    padding:34px 0 44px!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  #ranking .ranking-head{
    width:auto!important;
    max-width:none!important;
    margin:0 0 18px!important;
    padding:0 18px!important;
  }

  #ranking .ranking-head h2{
    font-size:30px!important;
    line-height:1.18!important;
    margin:8px 0!important;
  }

  #ranking .ranking-head p:not(.eyebrow){
    font-size:13px!important;
    line-height:1.7!important;
    margin:0!important;
  }

  #ranking .ranking-row.ranking-carousel{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    gap:14px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    scroll-snap-type:x mandatory!important;
    padding:0 18px 20px!important;
    box-sizing:border-box!important;
  }

  #ranking .ranking-row.ranking-carousel .ranking-card{
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    flex:0 0 78vw!important;
    width:78vw!important;
    min-width:78vw!important;
    max-width:78vw!important;
    height:372px!important;
    min-height:372px!important;
    max-height:372px!important;
    margin:0!important;
    overflow:hidden!important;
    scroll-snap-align:start!important;
    border-radius:24px!important;
    background:#17130f!important;
    color:#fffaf2!important;
    box-sizing:border-box!important;
  }

  #ranking .ranking-card .rank-num{
    position:absolute!important;
    top:14px!important;
    left:14px!important;
    z-index:4!important;
    width:34px!important;
    height:34px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:999px!important;
    background:rgba(255,250,242,.92)!important;
    color:#17130f!important;
    font-size:13px!important;
  }

  #ranking .ranking-card .ranking-image{
    flex:0 0 214px!important;
    width:100%!important;
    height:214px!important;
    min-height:214px!important;
    max-height:214px!important;
    overflow:hidden!important;
    border-radius:0!important;
    background:#26201b!important;
  }

  #ranking .ranking-card .ranking-image img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    border-radius:0!important;
  }

  #ranking .ranking-card .ranking-meta{
    flex:1 1 auto!important;
    min-height:0!important;
    padding:18px!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }

  #ranking .ranking-card .ranking-meta span{
    display:block!important;
    width:auto!important;
    min-height:0!important;
    padding:0!important;
    margin:0 0 8px!important;
    background:transparent!important;
    color:#a66642!important;
    box-shadow:none!important;
    font-size:10px!important;
    line-height:1.2!important;
    letter-spacing:.14em!important;
    white-space:nowrap!important;
  }

  #ranking .ranking-card .ranking-meta h3{
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
    margin:0 0 8px!important;
    color:#fffaf2!important;
    font-size:20px!important;
    line-height:1.25!important;
    letter-spacing:-.03em!important;
    white-space:normal!important;
  }

  #ranking .ranking-card .ranking-meta p{
    margin:0!important;
    color:#d7c8bb!important;
    font-size:15px!important;
    line-height:1.3!important;
  }

  #ranking .ranking-swipe-note{
    display:block!important;
    padding:0 18px!important;
    margin:0!important;
    color:rgba(255,255,255,.62)!important;
    font-size:12px!important;
    text-align:center!important;
  }

  #rankingModal.open{
    padding:12px!important;
  }

  #rankingModal.open .modal-box{
    width:calc(100vw - 24px)!important;
    max-width:calc(100vw - 24px)!important;
    border-radius:24px!important;
  }

  .ranking-modal-clean{
    border-radius:24px!important;
  }

  .ranking-modal-clean-image{
    height:235px!important;
    min-height:235px!important;
    max-height:235px!important;
    border-radius:24px 24px 0 0!important;
  }

  .ranking-modal-clean-copy{
    padding:24px 20px 28px!important;
  }

  .ranking-modal-clean-copy h2{
    font-size:28px!important;
    line-height:1.22!important;
  }

  .ranking-modal-clean-copy a{
    width:100%!important;
  }
}


/* =========================================================
   ROUND 57 : conditional search options
   ========================================================= */

/* 条件分岐で非表示になった選択肢は、カスタムUIでも完全に出さない */
.round50-select-option[aria-hidden="true"],
.round50-select-option:disabled{
  display:none!important;
}

/* ネイティブselect側も条件外optionを無効化 */
select option:disabled{
  color:#b8aaa0!important;
}

/* シーン選択後もメニューの高さが大きくなりすぎないように */
@media(max-width:900px){
  .round50-select-menu{
    max-height:220px!important;
  }
}


/* =========================================================
   ROUND 59 : safe popup motion only
   round58の自動カルーセルJSは入れず、POPUP停止を回避
   ========================================================= */

/* POPUPはCSSだけでふわっと出す。JS干渉なし */
.modal.open{
  animation:round59OverlayFade .26s ease both!important;
}

.modal.open .modal-box{
  animation:round59PopupFloat .36s cubic-bezier(.19,1,.22,1) both!important;
  transform-origin:center top!important;
}

@keyframes round59OverlayFade{
  0%{
    opacity:0;
  }
  100%{
    opacity:1;
  }
}

@keyframes round59PopupFloat{
  0%{
    opacity:0;
    transform:translateY(18px) scale(.97);
  }
  70%{
    opacity:1;
    transform:translateY(-2px) scale(1.004);
  }
  100%{
    opacity:1;
    transform:translateY(0) scale(1);
  }
}

/* POPUP内カルーセル操作UIは手動操作のまま維持 */
.gift-image-carousel,
.quick-gift-detail-media,
.giftween-pick-detail-media,
.calendar-pop-media,
.round47-modal-carousel,
.round42-carousel,
.force-calendar-carousel{
  touch-action:pan-y!important;
}

/* POPUP内の画像矢印は表示されるように補強 */
.gift-image-carousel .gift-carousel-arrow,
.quick-gift-detail-media .round52-carousel-arrow,
.giftween-pick-detail-media .round52-carousel-arrow,
.calendar-pop-media .round52-carousel-arrow,
.round47-modal-carousel .round52-carousel-arrow,
.force-calendar-carousel .round52-carousel-arrow{
  pointer-events:auto!important;
}

/* スマホでPOPUPが切れない保険 */
@media(max-width:900px){
  .modal.open{
    align-items:flex-start!important;
    justify-content:center!important;
    padding:12px!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
  }

  .modal.open .modal-box{
    width:calc(100vw - 24px)!important;
    max-width:calc(100vw - 24px)!important;
    max-height:none!important;
    overflow:visible!important;
    margin:0 auto 24px!important;
  }
}

/* motionが苦手な環境ではアニメーション停止 */
@media(prefers-reduced-motion:reduce){
  .modal.open,
  .modal.open .modal-box{
    animation:none!important;
  }
}


/* =========================================================
   ROUND 60 : 3:4 gift image standard
   記事ページ・インタビュー系画像・TOPヒーローは対象外。
   今後のギフト画像が3:4になる前提で、カード/画像枠を縦長比率へ統一。
   ========================================================= */

/* 3:4画像を使うギフトカード共通。記事・インタビューには当てない */
#justnow .quick-gift-card,
#giftweenPicksRow .giftween-pick-card,
#dailyTrack .daily-item,
#productShowcase .gift-card,
#ranking .ranking-card,
#searchGiftModal .gift-card,
.calendar-gift-card{
  aspect-ratio:3 / 4!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
}

/* 画像そのものは枠いっぱいに。黒余白や白余白を出さない */
#justnow .quick-gift-card img,
#giftweenPicksRow .giftween-pick-card img,
#dailyTrack .daily-item img,
#productShowcase .gift-card img,
#ranking .ranking-card img,
.calendar-gift-card img,
.quick-gift-detail-media img,
.giftween-pick-detail-media img,
.editor-pick-detail-media img,
.calendar-pop-media img,
.ranking-modal-clean-image img,
.round55-detail-media img,
.force-calendar-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:0!important;
}

/* 背景全面型ギフトカードは、画像コンテナも3:4全体に合わせる */
#justnow .quick-gift-card .gift-image-single,
#justnow .quick-gift-card .gift-image-carousel,
#justnow .quick-gift-card .gift-image-track,
#giftweenPicksRow .giftween-pick-image,
#giftweenPicksRow .gift-image-carousel,
#giftweenPicksRow .gift-image-track,
#dailyTrack .gift-image-single,
#dailyTrack .gift-image-carousel,
#dailyTrack .gift-image-track{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
}

/* 今だからこそ：PC/SPとも3:4カード */
#justnow .quick-gift-card{
  position:relative!important;
  overflow:hidden!important;
  border-radius:28px!important;
}
@media(min-width:901px){
  #quickLayout{
    align-items:start!important;
  }
  #quickLayout .quick-gift-card{
    width:100%!important;
  }
}
@media(max-width:900px){
  #quickLayout{
    min-height:0!important;
  }
  #quickLayout .quick-gift-card,
  #quickLayout .quick-gift-card.is-active{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    aspect-ratio:3 / 4!important;
    height:auto!important;
    min-height:0!important;
  }
}

/* Creator Picks：3:4カード。インタビューカードではないため対象 */
#giftweenPicksRow .giftween-pick-card{
  position:relative!important;
  overflow:hidden!important;
  border-radius:30px!important;
}
@media(max-width:900px){
  #giftweenPicksRow.giftween-picks-row{
    min-height:0!important;
  }
  #giftweenPicksRow .giftween-pick-card,
  #giftweenPicksRow .giftween-pick-card.is-active{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    aspect-ratio:3 / 4!important;
    height:auto!important;
    min-height:0!important;
  }
}

/* この日に贈るなら：スマホ横スクロール時も3:4 */
@media(max-width:900px){
  #dailyTrack,
  .daily-slider .slider-track{
    min-height:0!important;
    align-items:start!important;
  }
  #dailyTrack .daily-item,
  .daily-slider .daily-item,
  #dailyTrack .daily-item.is-active,
  #dailyTrack .daily-item.is-hidden,
  .daily-slider .daily-item.is-active,
  .daily-slider .daily-item.is-hidden{
    flex:0 0 74vw!important;
    width:74vw!important;
    min-width:74vw!important;
    max-width:74vw!important;
    aspect-ratio:3 / 4!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
  }
}

/* 編集部アイテム：カード自体は3:4、画像全面型に寄せる */
#productShowcase .gift-card{
  position:relative!important;
  overflow:hidden!important;
  border-radius:28px!important;
}
#productShowcase .gift-card img,
#productShowcase .gift-card > img,
#productShowcase .gift-card-image img{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
}
@media(min-width:901px){
  #productShowcase .gift-card{
    flex:0 0 280px!important;
    width:280px!important;
    min-width:280px!important;
    height:auto!important;
    aspect-ratio:3 / 4!important;
  }
}
@media(max-width:900px){
  #productShowcase .gift-card{
    flex:0 0 74vw!important;
    width:74vw!important;
    min-width:74vw!important;
    height:auto!important;
    aspect-ratio:3 / 4!important;
  }
}

/* 人気ランキング：画像ありカードも3:4カードに収める */
#ranking .ranking-card{
  position:relative!important;
  overflow:hidden!important;
  border-radius:26px!important;
}
#ranking .ranking-card .ranking-image{
  flex:0 0 auto!important;
  width:100%!important;
  height:62%!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
  border-radius:0!important;
}
#ranking .ranking-card .ranking-meta{
  min-height:0!important;
}
@media(max-width:900px){
  #ranking .ranking-row.ranking-carousel .ranking-card{
    flex:0 0 74vw!important;
    width:74vw!important;
    min-width:74vw!important;
    max-width:74vw!important;
    aspect-ratio:3 / 4!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
  }
  #ranking .ranking-row.ranking-carousel .ranking-card .ranking-image{
    height:62%!important;
    min-height:0!important;
    max-height:none!important;
  }
  #ranking .ranking-row.ranking-carousel .ranking-card .ranking-meta{
    padding:16px!important;
  }
}

/* カレンダーPOPUP/商品POPUP内のギフト画像も3:4前提 */
.quick-gift-detail-media,
.giftween-pick-detail-media,
.editor-pick-detail-media,
.calendar-pop-media,
.ranking-modal-clean-image,
.round55-detail-media,
.force-calendar-media{
  aspect-ratio:3 / 4!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
  background:#eee4d8!important;
}
@media(min-width:901px){
  .quick-gift-detail,
  .giftween-pick-detail,
  .calendar-pop-detail,
  .round55-detail,
  .force-calendar-detail{
    grid-template-columns:minmax(360px,44%) minmax(0,56%)!important;
  }
}
@media(max-width:900px){
  .quick-gift-detail-media,
  .giftween-pick-detail-media,
  .editor-pick-detail-media,
  .calendar-pop-media,
  .ranking-modal-clean-image,
  .round55-detail-media,
  .force-calendar-media{
    width:100%!important;
    aspect-ratio:3 / 4!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    border-radius:24px 24px 0 0!important;
  }
}

/* 記事・インタビュー・TOP heroは触らないため、既存比率を戻す保険 */
.interview-issue img,
.interview-next-card img,
.interview-archive img,
.article-editorial img,
.article-product-feature img,
.article-product-image img,
.article-product-carousel img,
.hero-making img,
.hero-making video{
  aspect-ratio:auto!important;
}

/* 記事ページの商品カードは対象外。既存の左画像/右文言レイアウトを維持 */
.article-product-feature,
.article-product-feature .article-product-image,
.article-product-feature .article-product-carousel{
  aspect-ratio:auto!important;
}


/* =========================================================
   ROUND 61 : reduce oversized gift images/cards while keeping 3:4
   記事・インタビュー・TOPヒーローは対象外。
   ========================================================= */

/* TOP上の商品カード全体を少し小さく見せる */
@media(min-width:901px){
  #quickLayout{
    gap:16px!important;
  }

  #quickLayout .quick-gift-card{
    max-width:245px!important;
    width:100%!important;
    justify-self:center!important;
    aspect-ratio:3 / 4!important;
  }

  #giftweenPicksRow.giftween-picks-row{
    gap:16px!important;
    justify-items:center!important;
  }

  #giftweenPicksRow .giftween-pick-card{
    width:100%!important;
    max-width:300px!important;
    aspect-ratio:3 / 4!important;
  }

  #productShowcase .gift-card{
    flex:0 0 245px!important;
    width:245px!important;
    min-width:245px!important;
    max-width:245px!important;
    aspect-ratio:3 / 4!important;
  }

  #ranking .ranking-card{
    max-width:245px!important;
    aspect-ratio:3 / 4!important;
  }
}

/* スマホ：1枚表示のカードが大きすぎないよう幅を抑えて中央寄せ */
@media(max-width:900px){
  #quickLayout{
    display:block!important;
    width:100%!important;
    min-height:0!important;
  }

  #quickLayout .quick-gift-card,
  #quickLayout .quick-gift-card.is-active{
    width:min(82vw,310px)!important;
    max-width:310px!important;
    min-width:0!important;
    aspect-ratio:3 / 4!important;
    height:auto!important;
    margin:0 auto!important;
  }

  #giftweenPicksRow.giftween-picks-row{
    display:block!important;
    width:100%!important;
    min-height:0!important;
  }

  #giftweenPicksRow .giftween-pick-card,
  #giftweenPicksRow .giftween-pick-card.is-active{
    width:min(84vw,320px)!important;
    max-width:320px!important;
    min-width:0!important;
    aspect-ratio:3 / 4!important;
    height:auto!important;
    margin:0 auto!important;
  }

  /* 横スクロール系もカード幅を少し小さく */
  #dailyTrack .daily-item,
  .daily-slider .daily-item,
  #dailyTrack .daily-item.is-active,
  #dailyTrack .daily-item.is-hidden,
  .daily-slider .daily-item.is-active,
  .daily-slider .daily-item.is-hidden{
    flex:0 0 66vw!important;
    width:66vw!important;
    min-width:66vw!important;
    max-width:66vw!important;
    aspect-ratio:3 / 4!important;
    height:auto!important;
  }

  #productShowcase .gift-card{
    flex:0 0 66vw!important;
    width:66vw!important;
    min-width:66vw!important;
    max-width:66vw!important;
    aspect-ratio:3 / 4!important;
    height:auto!important;
  }

  #ranking .ranking-row.ranking-carousel .ranking-card{
    flex:0 0 68vw!important;
    width:68vw!important;
    min-width:68vw!important;
    max-width:68vw!important;
    aspect-ratio:3 / 4!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
  }

  #ranking .ranking-row.ranking-carousel .ranking-card .ranking-image{
    height:60%!important;
    min-height:0!important;
    max-height:none!important;
  }
}

/* POPUPで出る上部画像も大きすぎないよう抑える */
@media(min-width:901px){
  .quick-gift-detail,
  .giftween-pick-detail,
  .calendar-pop-detail,
  .round55-detail,
  .force-calendar-detail,
  .ranking-modal-clean{
    max-width:900px!important;
    margin:0 auto!important;
  }

  .quick-gift-detail-media,
  .giftween-pick-detail-media,
  .editor-pick-detail-media,
  .calendar-pop-media,
  .ranking-modal-clean-image,
  .round55-detail-media,
  .force-calendar-media{
    max-width:330px!important;
    width:100%!important;
    justify-self:center!important;
    aspect-ratio:3 / 4!important;
    height:auto!important;
  }

  .quick-gift-detail,
  .giftween-pick-detail,
  .calendar-pop-detail,
  .round55-detail,
  .force-calendar-detail{
    grid-template-columns:minmax(300px,38%) minmax(0,62%)!important;
  }
}

@media(max-width:900px){
  .quick-gift-detail-media,
  .giftween-pick-detail-media,
  .editor-pick-detail-media,
  .calendar-pop-media,
  .ranking-modal-clean-image,
  .round55-detail-media,
  .force-calendar-media{
    width:min(76vw,290px)!important;
    max-width:290px!important;
    aspect-ratio:3 / 4!important;
    height:auto!important;
    margin:0 auto!important;
    border-radius:22px!important;
  }

  .quick-gift-detail-copy,
  .giftween-pick-detail-copy,
  .calendar-pop-copy,
  .round55-detail-copy,
  .force-calendar-copy,
  .ranking-modal-clean-copy{
    padding-top:22px!important;
  }
}

/* 画像の中身は引き続き余白なしで見せる */
#justnow .quick-gift-card img,
#giftweenPicksRow .giftween-pick-card img,
#dailyTrack .daily-item img,
#productShowcase .gift-card img,
#ranking .ranking-card img,
.quick-gift-detail-media img,
.giftween-pick-detail-media img,
.editor-pick-detail-media img,
.calendar-pop-media img,
.ranking-modal-clean-image img,
.round55-detail-media img,
.force-calendar-media img{
  object-fit:cover!important;
  object-position:center!important;
}

/* インタビュー・記事・TOPヒーローは引き続き対象外 */
.interview-issue img,
.interview-next-card img,
.interview-archive img,
.article-product-feature img,
.article-product-image img,
.article-product-carousel img,
.hero-making img,
.hero-making video{
  aspect-ratio:auto!important;
  max-width:100%!important;
}


/* =========================================================
   ROUND 62 : remove side gaps in product popup cards
   ========================================================= */

/* POPUPの商品画像はカード幅いっぱいに表示。中央寄せによる左右余白をなくす */
@media(max-width:900px){
  .quick-gift-detail-media,
  .giftween-pick-detail-media,
  .editor-pick-detail-media,
  .calendar-pop-media,
  .ranking-modal-clean-image,
  .round55-detail-media,
  .force-calendar-media{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    margin:0!important;
    aspect-ratio:3 / 4!important;
    height:auto!important;
    border-radius:24px 24px 0 0!important;
  }

  .quick-gift-detail-media img,
  .giftween-pick-detail-media img,
  .editor-pick-detail-media img,
  .calendar-pop-media img,
  .ranking-modal-clean-image img,
  .round55-detail-media img,
  .force-calendar-media img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    border-radius:0!important;
  }

  .ranking-modal-clean,
  .quick-gift-detail,
  .giftween-pick-detail,
  .calendar-pop-detail,
  .round55-detail,
  .force-calendar-detail{
    width:100%!important;
    max-width:none!important;
    overflow:hidden!important;
  }

  .ranking-modal-clean-copy,
  .quick-gift-detail-copy,
  .giftween-pick-detail-copy,
  .calendar-pop-copy,
  .round55-detail-copy,
  .force-calendar-copy{
    padding-left:22px!important;
    padding-right:22px!important;
  }
}

/* PC側もPOPUP内画像だけ変な中央寄せ余白が出ないようにする */
@media(min-width:901px){
  .ranking-modal-clean-image{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
  }

  .ranking-modal-clean{
    overflow:hidden!important;
  }
}


/* =========================================================
   ROUND 63 : remove popup top image radius completely
   ========================================================= */

/* 商品POPUP上部の角丸を完全に消す */
#quickGiftModal.open .modal-box,
#giftweenPicksModal.open .modal-box,
#editorPickModal.open .modal-box,
#calendarModal.open .modal-box,
#rankingModal.open .modal-box,
#searchGiftModal.open .modal-box{
  border-radius:0!important;
}

.quick-gift-detail,
.giftween-pick-detail,
.editor-pick-detail,
.calendar-pop-detail,
.ranking-modal-clean,
.round55-detail,
.force-calendar-detail{
  border-radius:0!important;
  overflow:hidden!important;
}

.quick-gift-detail-media,
.giftween-pick-detail-media,
.editor-pick-detail-media,
.calendar-pop-media,
.ranking-modal-clean-image,
.round55-detail-media,
.force-calendar-media{
  border-radius:0!important;
}

.quick-gift-detail-media *,
.giftween-pick-detail-media *,
.editor-pick-detail-media *,
.calendar-pop-media *,
.ranking-modal-clean-image *,
.round55-detail-media *,
.force-calendar-media *{
  border-radius:0!important;
}

.quick-gift-detail-media img,
.giftween-pick-detail-media img,
.editor-pick-detail-media img,
.calendar-pop-media img,
.ranking-modal-clean-image img,
.round55-detail-media img,
.force-calendar-media img{
  border-radius:0!important;
}

/* スマホでも上部角丸を戻させない */
@media(max-width:900px){
  #quickGiftModal.open .modal-box,
  #giftweenPicksModal.open .modal-box,
  #editorPickModal.open .modal-box,
  #calendarModal.open .modal-box,
  #rankingModal.open .modal-box,
  #searchGiftModal.open .modal-box,
  .quick-gift-detail,
  .giftween-pick-detail,
  .editor-pick-detail,
  .calendar-pop-detail,
  .ranking-modal-clean,
  .round55-detail,
  .force-calendar-detail,
  .quick-gift-detail-media,
  .giftween-pick-detail-media,
  .editor-pick-detail-media,
  .calendar-pop-media,
  .ranking-modal-clean-image,
  .round55-detail-media,
  .force-calendar-media{
    border-radius:0!important;
  }
}

/* closeボタンだけは丸のまま残す */
.modal-close,
.modal .close,
button[aria-label="閉じる"]{
  border-radius:999px!important;
}


/* =========================================================
   ROUND 64 : balance product image size
   3:4前提は残しつつ、POPUPとカードの画像が大きすぎないよう調整。
   角丸と左右余白は戻さない。
   ========================================================= */

/* POPUP内の商品画像：横幅はいっぱい、ただし高さを抑えて見やすくする */
@media(max-width:900px){
  .quick-gift-detail-media,
  .giftween-pick-detail-media,
  .editor-pick-detail-media,
  .calendar-pop-media,
  .ranking-modal-clean-image,
  .round55-detail-media,
  .force-calendar-media{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:clamp(320px, 50vh, 430px)!important;
    min-height:0!important;
    max-height:430px!important;
    aspect-ratio:auto!important;
    margin:0!important;
    border-radius:0!important;
    overflow:hidden!important;
  }

  .quick-gift-detail-media img,
  .giftween-pick-detail-media img,
  .editor-pick-detail-media img,
  .calendar-pop-media img,
  .ranking-modal-clean-image img,
  .round55-detail-media img,
  .force-calendar-media img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    border-radius:0!important;
  }

  .quick-gift-detail-copy,
  .giftween-pick-detail-copy,
  .calendar-pop-copy,
  .round55-detail-copy,
  .force-calendar-copy,
  .ranking-modal-clean-copy{
    padding-top:22px!important;
  }
}

/* PCのPOPUPも画像が大きくなりすぎないように */
@media(min-width:901px){
  .quick-gift-detail-media,
  .giftween-pick-detail-media,
  .editor-pick-detail-media,
  .calendar-pop-media,
  .round55-detail-media,
  .force-calendar-media{
    width:100%!important;
    max-width:none!important;
    height:min(58vh, 520px)!important;
    min-height:420px!important;
    aspect-ratio:auto!important;
    border-radius:0!important;
    overflow:hidden!important;
  }

  .ranking-modal-clean-image{
    width:100%!important;
    height:min(52vh, 460px)!important;
    min-height:360px!important;
    max-width:none!important;
    aspect-ratio:auto!important;
    border-radius:0!important;
    overflow:hidden!important;
  }

  .quick-gift-detail,
  .giftween-pick-detail,
  .calendar-pop-detail,
  .round55-detail,
  .force-calendar-detail{
    grid-template-columns:minmax(320px,42%) minmax(0,58%)!important;
    max-width:980px!important;
  }
}

/* TOP上の商品カード：画像カード自体も少しだけ小さく */
@media(max-width:900px){
  #quickLayout .quick-gift-card,
  #quickLayout .quick-gift-card.is-active{
    width:min(78vw, 294px)!important;
    max-width:294px!important;
    aspect-ratio:3 / 4!important;
  }

  #giftweenPicksRow .giftween-pick-card,
  #giftweenPicksRow .giftween-pick-card.is-active{
    width:min(80vw, 304px)!important;
    max-width:304px!important;
    aspect-ratio:3 / 4!important;
  }

  #dailyTrack .daily-item,
  .daily-slider .daily-item,
  #dailyTrack .daily-item.is-active,
  #dailyTrack .daily-item.is-hidden,
  .daily-slider .daily-item.is-active,
  .daily-slider .daily-item.is-hidden,
  #productShowcase .gift-card,
  #ranking .ranking-row.ranking-carousel .ranking-card{
    flex-basis:62vw!important;
    width:62vw!important;
    min-width:62vw!important;
    max-width:62vw!important;
    aspect-ratio:3 / 4!important;
    height:auto!important;
  }
}

/* PCの商品カードも少し抑える */
@media(min-width:901px){
  #quickLayout .quick-gift-card,
  #productShowcase .gift-card,
  #ranking .ranking-card{
    max-width:232px!important;
    width:232px!important;
    min-width:232px!important;
    aspect-ratio:3 / 4!important;
  }

  #giftweenPicksRow .giftween-pick-card{
    max-width:280px!important;
    aspect-ratio:3 / 4!important;
  }
}

/* 角丸は戻さない */
.quick-gift-detail-media,
.giftween-pick-detail-media,
.editor-pick-detail-media,
.calendar-pop-media,
.ranking-modal-clean-image,
.round55-detail-media,
.force-calendar-media,
.quick-gift-detail-media *,
.giftween-pick-detail-media *,
.editor-pick-detail-media *,
.calendar-pop-media *,
.ranking-modal-clean-image *,
.round55-detail-media *,
.force-calendar-media *{
  border-radius:0!important;
}

/* 記事・インタビュー・TOPヒーローは対象外 */
.interview-issue img,
.interview-next-card img,
.interview-archive img,
.article-product-feature img,
.article-product-image img,
.article-product-carousel img,
.hero-making img,
.hero-making video{
  aspect-ratio:auto!important;
}


/* =========================================================
   ROUND 65 : desktop-only fix for quick gifts / Creator Picks
   スマホに影響を出さないため、901px以上だけ上書き。
   ========================================================= */

@media(min-width:901px){
  /* PCではカード切替UIを使わず、一覧として複数枚表示 */
  .quick-record-controls,
  .creator-record-controls{
    display:none!important;
  }

  /* 今だからこそ：PCは4枚グリッド表示 */
  #quickLayout.quick-layout,
  #quickLayout.quick-card-grid,
  #justnow #quickLayout{
    display:grid!important;
    grid-template-columns:repeat(4, minmax(0, 1fr))!important;
    gap:18px!important;
    width:min(100%, 1080px)!important;
    max-width:1080px!important;
    margin:0 auto!important;
    overflow:visible!important;
    min-height:0!important;
    align-items:start!important;
  }

  #quickLayout .quick-gift-card,
  #quickLayout .quick-gift-card.is-active,
  #quickLayout .quick-gift-card.is-hidden,
  #quickLayout .quick-gift-card:not(.is-active){
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    position:relative!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:3 / 4!important;
    margin:0!important;
    transform:none!important;
    overflow:hidden!important;
  }

  #quickLayout .quick-gift-card .gift-image-single,
  #quickLayout .quick-gift-card .gift-image-carousel,
  #quickLayout .quick-gift-card .gift-image-track{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    overflow:hidden!important;
  }

  #quickLayout .quick-gift-card img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
  }

  /* Creator Picks：PCは3枚グリッド表示 */
  #giftweenPicksRow.giftween-picks-row,
  #giftweenPicks #giftweenPicksRow{
    display:grid!important;
    grid-template-columns:repeat(3, minmax(0, 1fr))!important;
    gap:20px!important;
    width:min(100%, 1080px)!important;
    max-width:1080px!important;
    margin:0 auto!important;
    overflow:visible!important;
    min-height:0!important;
    align-items:start!important;
  }

  #giftweenPicksRow .giftween-pick-card,
  #giftweenPicksRow .giftween-pick-card.is-active,
  #giftweenPicksRow .giftween-pick-card.is-hidden,
  #giftweenPicksRow .giftween-pick-card:not(.is-active){
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    position:relative!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:3 / 4!important;
    margin:0!important;
    transform:none!important;
    overflow:hidden!important;
  }

  #giftweenPicksRow .giftween-pick-image,
  #giftweenPicksRow .gift-image-carousel,
  #giftweenPicksRow .gift-image-track{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    overflow:hidden!important;
  }

  #giftweenPicksRow .giftween-pick-card img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
  }

  /* 画像が横長に見える古い高さ指定をPCだけ無効化 */
  #quickLayout .quick-card-body,
  #giftweenPicksRow .giftween-pick-copy{
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    z-index:3!important;
  }
}


/* =========================================================
   ROUND 66 : desktop-only rebuild after layout break
   PCだけ調整。スマホには一切当てない。
   ========================================================= */

@media(min-width:901px){

  /* ------------------------------
     今だからこそ：PCは4枚・小さめ・3:4・文字を暴れさせない
     ------------------------------ */

  #justnow{
    overflow:hidden!important;
  }

  #justnow #quickLayout.quick-layout,
  #justnow #quickLayout.quick-card-grid,
  #quickLayout{
    display:grid!important;
    grid-template-columns:repeat(4, 230px)!important;
    justify-content:center!important;
    align-items:start!important;
    gap:20px!important;
    width:100%!important;
    max-width:1120px!important;
    margin:0 auto!important;
    padding:0!important;
    min-height:0!important;
    overflow:visible!important;
  }

  #quickLayout .quick-gift-card,
  #quickLayout .quick-gift-card.is-active,
  #quickLayout .quick-gift-card.is-hidden,
  #quickLayout .quick-gift-card:not(.is-active){
    display:block!important;
    position:relative!important;
    width:230px!important;
    min-width:230px!important;
    max-width:230px!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:3 / 4!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
    margin:0!important;
    overflow:hidden!important;
    border-radius:22px!important;
  }

  #quickLayout .gift-image-single,
  #quickLayout .gift-image-carousel,
  #quickLayout .gift-image-track{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    overflow:hidden!important;
  }

  #quickLayout .quick-gift-card img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    border-radius:0!important;
  }

  #quickLayout .quick-card-body{
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    z-index:3!important;
    padding:22px 18px 20px!important;
    background:linear-gradient(180deg, transparent 0%, rgba(0,0,0,.22) 12%, rgba(0,0,0,.72) 100%)!important;
    color:#fffaf2!important;
  }

  #quickLayout .quick-card-body h3{
    font-size:25px!important;
    line-height:1.25!important;
    letter-spacing:-.04em!important;
    margin:0 0 10px!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
  }

  #quickLayout .quick-card-body strong{
    display:block!important;
    font-size:21px!important;
    line-height:1.15!important;
    margin:0 0 12px!important;
  }

  #quickLayout .quick-card-body p{
    font-size:13px!important;
    line-height:1.55!important;
    margin:0!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
  }

  #quickLayout .quick-card-body span{
    display:none!important;
  }

  .quick-record-controls{
    display:none!important;
  }


  /* ------------------------------
     Creator Picks：PCは3枚・3:4・文字を整理
     ------------------------------ */

  #giftweenPicksRow.giftween-picks-row,
  #giftweenPicks #giftweenPicksRow{
    display:grid!important;
    grid-template-columns:repeat(3, 280px)!important;
    justify-content:center!important;
    align-items:start!important;
    gap:22px!important;
    width:100%!important;
    max-width:980px!important;
    margin:0 auto!important;
    padding:0!important;
    min-height:0!important;
    overflow:visible!important;
  }

  #giftweenPicksRow .giftween-pick-card,
  #giftweenPicksRow .giftween-pick-card.is-active,
  #giftweenPicksRow .giftween-pick-card.is-hidden,
  #giftweenPicksRow .giftween-pick-card:not(.is-active){
    display:block!important;
    position:relative!important;
    width:280px!important;
    min-width:280px!important;
    max-width:280px!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:3 / 4!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
    margin:0!important;
    overflow:hidden!important;
    border-radius:24px!important;
  }

  #giftweenPicksRow .giftween-pick-image,
  #giftweenPicksRow .gift-image-carousel,
  #giftweenPicksRow .gift-image-track{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    overflow:hidden!important;
  }

  #giftweenPicksRow .giftween-pick-card img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    border-radius:0!important;
  }

  #giftweenPicksRow .giftween-pick-copy{
    position:absolute!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    z-index:3!important;
    padding:22px 20px 20px!important;
    background:linear-gradient(180deg, transparent 0%, rgba(0,0,0,.2) 12%, rgba(0,0,0,.74) 100%)!important;
    color:#fffaf2!important;
  }

  #giftweenPicksRow .giftween-pick-copy span{
    display:block!important;
    font-size:11px!important;
    line-height:1.2!important;
    letter-spacing:.14em!important;
    margin:0 0 8px!important;
    color:#d6a66f!important;
  }

  #giftweenPicksRow .giftween-pick-copy h3{
    font-size:24px!important;
    line-height:1.25!important;
    letter-spacing:-.04em!important;
    margin:0 0 8px!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
  }

  #giftweenPicksRow .giftween-pick-copy p{
    font-size:13px!important;
    line-height:1.55!important;
    margin:0!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
  }

  .creator-record-controls{
    display:none!important;
  }


  /* ------------------------------
     商品POPUP：PCで画像がデカすぎる/横長すぎるのを調整
     ------------------------------ */

  .quick-gift-detail,
  .giftween-pick-detail,
  .calendar-pop-detail,
  .round55-detail,
  .force-calendar-detail{
    display:grid!important;
    grid-template-columns:390px minmax(0, 1fr)!important;
    width:min(100%, 1020px)!important;
    max-width:1020px!important;
    max-height:calc(100vh - 80px)!important;
    overflow:hidden!important;
    margin:0 auto!important;
  }

  .quick-gift-detail-media,
  .giftween-pick-detail-media,
  .editor-pick-detail-media,
  .calendar-pop-media,
  .round55-detail-media,
  .force-calendar-media{
    width:390px!important;
    min-width:390px!important;
    max-width:390px!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:3 / 4!important;
    align-self:start!important;
    border-radius:0!important;
    overflow:hidden!important;
  }

  .quick-gift-detail-media img,
  .giftween-pick-detail-media img,
  .editor-pick-detail-media img,
  .calendar-pop-media img,
  .round55-detail-media img,
  .force-calendar-media img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    border-radius:0!important;
  }

  .quick-gift-detail-copy,
  .giftween-pick-detail-copy,
  .calendar-pop-copy,
  .round55-detail-copy,
  .force-calendar-copy{
    max-height:calc(100vh - 80px)!important;
    overflow-y:auto!important;
    padding:52px 54px!important;
  }

  .quick-gift-detail-copy h2,
  .giftween-pick-detail-copy h2,
  .calendar-pop-copy h2,
  .round55-detail-copy h2,
  .force-calendar-copy h2{
    font-size:42px!important;
    line-height:1.18!important;
    letter-spacing:-.045em!important;
  }


  /* ------------------------------
     人気ランキング：PCを横長カードから戻す
     ------------------------------ */

  #ranking .ranking-row.ranking-carousel{
    display:grid!important;
    grid-template-columns:repeat(5, minmax(0, 1fr))!important;
    gap:26px!important;
    width:min(100%, 1180px)!important;
    max-width:1180px!important;
    margin:0 auto!important;
    padding:0!important;
    overflow:visible!important;
  }

  #ranking .ranking-card{
    display:block!important;
    position:relative!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    border-radius:0!important;
    background:transparent!important;
    color:#fffaf2!important;
    overflow:visible!important;
  }

  #ranking .ranking-card .ranking-image{
    position:relative!important;
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:3 / 4!important;
    overflow:hidden!important;
    border-radius:0!important;
    background:#1d1712!important;
  }

  #ranking .ranking-card .ranking-image img{
    display:block!important;
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    border-radius:0!important;
  }

  #ranking .ranking-card .rank-num{
    position:absolute!important;
    top:-24px!important;
    left:-8px!important;
    z-index:3!important;
    width:auto!important;
    height:auto!important;
    background:transparent!important;
    color:rgba(214,166,111,.68)!important;
    font-size:82px!important;
    line-height:1!important;
    letter-spacing:-.08em!important;
    pointer-events:none!important;
  }

  #ranking .ranking-card .ranking-meta{
    position:static!important;
    display:block!important;
    padding:18px 0 0!important;
    min-height:0!important;
    overflow:visible!important;
    background:transparent!important;
  }

  #ranking .ranking-card .ranking-meta span{
    display:block!important;
    font-size:12px!important;
    line-height:1.2!important;
    letter-spacing:.22em!important;
    color:#c18a52!important;
    margin:0 0 14px!important;
    white-space:nowrap!important;
  }

  #ranking .ranking-card .ranking-meta h3{
    font-size:20px!important;
    line-height:1.35!important;
    letter-spacing:-.03em!important;
    color:#fffaf2!important;
    margin:0 0 12px!important;
    display:-webkit-box!important;
    -webkit-line-clamp:2!important;
    -webkit-box-orient:vertical!important;
    overflow:hidden!important;
  }

  #ranking .ranking-card .ranking-meta p{
    font-size:18px!important;
    line-height:1.25!important;
    color:#d9c8b8!important;
    margin:0!important;
  }

  #ranking .ranking-swipe-note{
    display:none!important;
  }

  /* ランキングPOPUP：PCで画像が横長・巨大にならないよう固定 */
  #rankingModal.open .modal-box{
    width:min(920px, calc(100vw - 96px))!important;
    max-width:min(920px, calc(100vw - 96px))!important;
  }

  .ranking-modal-clean{
    display:grid!important;
    grid-template-columns:360px minmax(0,1fr)!important;
    width:100%!important;
    max-width:none!important;
    overflow:hidden!important;
  }

  .ranking-modal-clean-image{
    width:360px!important;
    min-width:360px!important;
    max-width:360px!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:3 / 4!important;
    border-radius:0!important;
    overflow:hidden!important;
  }

  .ranking-modal-clean-image img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    border-radius:0!important;
  }

  .ranking-modal-clean-copy{
    padding:48px 52px!important;
    max-height:calc(100vh - 96px)!important;
    overflow-y:auto!important;
  }

  .ranking-modal-clean-copy h2{
    font-size:40px!important;
    line-height:1.18!important;
    letter-spacing:-.045em!important;
  }
}


/* =========================================================
   ROUND 74 : product image recovery only
   記事レイアウトは触らない。商品画像表示だけを復旧。
   ========================================================= */

/* 商品POPUPはスライドさせず、単一画像を確実に表示 */
.stable-product-image{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
  background:#efe8df!important;
  border-radius:0!important;
  opacity:1!important;
  visibility:visible!important;
}

.stable-product-image img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  opacity:1!important;
  visibility:visible!important;
  filter:none!important;
  transform:none!important;
}

/* レター画像だけは黒い箱が上に出にくい位置に調整 */
.stable-product-image img[src*="letter.jpg"]{
  object-position:center 74%!important;
}

/* POPUP画像枠。記事・インタビューは対象外 */
.quick-gift-detail-media,
.giftween-pick-detail-media,
.editor-pick-detail-media,
.calendar-pop-media,
.round55-detail-media,
.force-calendar-media,
.ranking-detail-image,
.ranking-modal-clean-image{
  position:relative!important;
  overflow:hidden!important;
  background:#efe8df!important;
  margin:0!important;
  padding:0!important;
  border-radius:0!important;
}

/* 商品POPUP内の旧カルーセル矢印・ドットは非表示。今だからこそもスライドなし */
.modal.open .gift-carousel-arrow,
.modal.open .round46-carousel-arrow,
.modal.open .round51-carousel-arrow,
.modal.open .round52-carousel-arrow,
.modal.open .round55-modal-arrow,
.modal.open .round58-carousel-arrow,
.modal.open .round70-arrow,
.modal.open .r67-carousel-arrow,
.modal.open .r71-arrow,
.modal.open .gw-gallery-arrow,
.modal.open .gift-carousel-dots,
.modal.open .round51-carousel-dots,
.modal.open .round52-carousel-dots,
.modal.open .round55-modal-dots,
.modal.open .round58-carousel-dots,
.modal.open .round70-dots,
.modal.open .r67-carousel-dots,
.modal.open .r71-dots,
.modal.open .gw-gallery-dots{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* PC商品POPUP：3:4固定で画像を確実に出す */
@media(min-width:901px){
  #quickGiftModal.open .modal-box,
  #giftweenPicksModal.open .modal-box,
  #editorPickModal.open .modal-box,
  #calendarModal.open .modal-box,
  #rankingModal.open .modal-box,
  #searchGiftModal.open .modal-box{
    width:min(1120px, calc(100vw - 72px))!important;
    max-width:min(1120px, calc(100vw - 72px))!important;
    height:520px!important;
    min-height:520px!important;
    max-height:calc(100vh - 72px)!important;
    padding:0!important;
    overflow:hidden!important;
    border-radius:0!important;
  }

  .quick-gift-detail,
  .giftween-pick-detail,
  .calendar-pop-detail,
  .round55-detail,
  .force-calendar-detail,
  .ranking-detail,
  .ranking-modal-clean{
    display:grid!important;
    grid-template-columns:390px minmax(0,1fr)!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    overflow:hidden!important;
    align-items:stretch!important;
  }

  .quick-gift-detail-media,
  .giftween-pick-detail-media,
  .editor-pick-detail-media,
  .calendar-pop-media,
  .round55-detail-media,
  .force-calendar-media,
  .ranking-detail-image,
  .ranking-modal-clean-image{
    width:390px!important;
    min-width:390px!important;
    max-width:390px!important;
    height:520px!important;
    min-height:520px!important;
    max-height:520px!important;
    aspect-ratio:3 / 4!important;
  }

  .quick-gift-detail-copy,
  .giftween-pick-detail-copy,
  .calendar-pop-copy,
  .round55-detail-copy,
  .force-calendar-copy,
  .ranking-detail-copy,
  .ranking-modal-clean-copy{
    height:520px!important;
    max-height:520px!important;
    overflow-y:auto!important;
    padding:42px 52px!important;
    box-sizing:border-box!important;
  }
}

/* SP商品POPUP：3:4固定 */
@media(max-width:900px){
  .quick-gift-detail-media,
  .giftween-pick-detail-media,
  .editor-pick-detail-media,
  .calendar-pop-media,
  .round55-detail-media,
  .force-calendar-media,
  .ranking-detail-image,
  .ranking-modal-clean-image{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    aspect-ratio:3 / 4!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
  }
}

/* 商品カード画像枠のみ3:4へ。記事・インタビューは触らない */
#quickLayout .quick-gift-card,
#giftweenPicksRow .giftween-pick-card,
#dailyTrack .daily-item,
#productShowcase .gift-card,
#ranking .ranking-card .ranking-image,
.search-result-grid .gift-card,
.calendar-gift-card{
  position:relative!important;
  aspect-ratio:3 / 4!important;
  overflow:hidden!important;
  background:#efe8df!important;
}

#quickLayout .quick-gift-card img,
#giftweenPicksRow .giftween-pick-card img,
#dailyTrack .daily-item img,
#productShowcase .gift-card img,
#ranking .ranking-card img,
.search-result-grid .gift-card img,
.calendar-gift-card img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  margin:0!important;
  padding:0!important;
  border-radius:0!important;
}


/* =========================================================
   ROUND 75 : articles archive refresh + quick popup fix support
   ========================================================= */

/* articles.html only */
.article-archive-page-v75{
  background:#fbf6ee;
  color:#16120f;
}

.article-archive-main-v75{
  padding:110px 28px 80px;
}

.article-archive-hero-v75{
  width:min(100%,1180px);
  margin:0 auto 54px;
  display:grid;
  grid-template-columns:minmax(0, .9fr) minmax(420px, 1.1fr);
  gap:34px;
  align-items:stretch;
}

.archive-hero-copy-v75{
  padding:48px 0;
}

.archive-hero-copy-v75 h1{
  font-size:clamp(48px, 6.6vw, 96px);
  line-height:1.02;
  letter-spacing:-.075em;
  margin:14px 0 24px;
}

.archive-hero-copy-v75 p:not(.eyebrow){
  max-width:560px;
  font-size:17px;
  line-height:1.9;
  color:#6f6257;
}

.archive-feature-v75{
  position:relative;
  min-height:460px;
  overflow:hidden;
  color:#fffaf2;
  text-decoration:none;
  background:#17130f;
  box-shadow:0 30px 70px rgba(64,42,24,.16);
}

.archive-feature-v75 img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .55s ease;
}

.archive-feature-v75::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.08) 0%,rgba(0,0,0,.18) 44%,rgba(0,0,0,.76) 100%);
}

.archive-feature-v75 div{
  position:absolute;
  left:34px;
  right:34px;
  bottom:34px;
  z-index:2;
}

.archive-feature-v75 p{
  margin:0 0 12px;
  color:#d7a06a;
  letter-spacing:.18em;
  font-size:12px;
}

.archive-feature-v75 h2{
  margin:0 0 14px;
  font-size:42px;
  line-height:1.15;
  letter-spacing:-.055em;
}

.archive-feature-v75 span{
  display:block;
  max-width:520px;
  font-size:15px;
  line-height:1.8;
}

.archive-feature-v75:hover img{
  transform:scale(1.04);
}

.archive-control-v75{
  width:min(100%,1180px);
  margin:0 auto 28px;
  padding:30px;
  border:1px solid #dfcec0;
  background:rgba(255,253,249,.68);
}

.archive-control-head-v75{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,420px);
  gap:26px;
  align-items:end;
  margin-bottom:24px;
}

.archive-control-head-v75 h2{
  margin:8px 0 0;
  font-size:36px;
  line-height:1.2;
  letter-spacing:-.04em;
}

.archive-search-v75{
  display:grid;
  gap:8px;
}

.archive-search-v75 span{
  font-size:12px;
  letter-spacing:.14em;
  color:#a66642;
}

.archive-search-v75 input{
  width:100%;
  height:50px;
  border:1px solid #d8c2b2;
  border-radius:0;
  background:#fffdf9;
  padding:0 16px;
  font:inherit;
  color:#17130f;
}

.archive-tabs-v75{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.archive-tabs-v75 button{
  min-height:40px;
  border:1px solid #d8c2b2;
  border-radius:999px;
  background:#fffdf9;
  padding:0 18px;
  color:#6f6257;
  cursor:pointer;
}

.archive-tabs-v75 button.active{
  background:#17130f;
  color:#fffaf2;
  border-color:#17130f;
}

.article-grid-section-v75{
  width:min(100%,1180px);
  margin:0 auto;
}

.article-grid-v75{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:24px;
}

.article-card-v75{
  display:grid;
  grid-template-rows:260px minmax(0,1fr);
  overflow:hidden;
  background:#fffdf9;
  border:1px solid #e2d2c4;
  color:#17130f;
  text-decoration:none;
  box-shadow:0 22px 54px rgba(64,42,24,.08);
}

.article-card-v75.is-featured{
  grid-column:span 2;
  grid-template-columns:minmax(0,48%) minmax(0,52%);
  grid-template-rows:auto;
  min-height:360px;
}

.article-card-v75 img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.article-card-v75 div{
  padding:26px 24px 28px;
}

.article-card-v75.is-featured div{
  padding:38px 36px;
  align-self:center;
}

.article-card-v75 p{
  margin:0 0 12px;
  color:#a66642;
  letter-spacing:.18em;
  font-size:12px;
}

.article-card-v75 h3{
  margin:0 0 14px;
  font-size:28px;
  line-height:1.22;
  letter-spacing:-.045em;
}

.article-card-v75.is-featured h3{
  font-size:42px;
  line-height:1.15;
}

.article-card-v75 span{
  display:block;
  color:#6f6257;
  font-size:14px;
  line-height:1.75;
  margin-bottom:18px;
}

.article-card-v75 small{
  color:#9c8b7c;
  font-size:12px;
  letter-spacing:.08em;
}

.archive-empty-v75{
  margin:32px 0;
  padding:38px;
  border:1px solid #dfcec0;
  text-align:center;
  background:#fffdf9;
}

.archive-empty-v75 p{
  margin:0 0 8px;
  font-size:20px;
}

.archive-empty-v75 span{
  color:#6f6257;
}

.archive-load-v75{
  display:flex;
  justify-content:center;
  margin:34px 0 0;
}

.archive-load-v75 button{
  min-height:48px;
  border:1px solid #17130f;
  background:#17130f;
  color:#fffaf2;
  padding:0 28px;
  border-radius:999px;
  cursor:pointer;
  font:inherit;
}

.archive-lower-v75{
  width:min(100%,1180px);
  margin:72px auto 0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}

.archive-lower-v75 a{
  display:grid;
  gap:8px;
  padding:28px;
  border:1px solid #dfcec0;
  background:#fffdf9;
  text-decoration:none;
  color:#17130f;
}

.archive-lower-v75 span{
  color:#a66642;
  font-size:12px;
  letter-spacing:.16em;
}

.archive-lower-v75 strong{
  font-size:24px;
  line-height:1.35;
}

@media(max-width:900px){
  .article-archive-main-v75{
    padding:86px 18px 56px;
  }

  .article-archive-hero-v75{
    display:block;
    margin-bottom:36px;
  }

  .archive-hero-copy-v75{
    padding:22px 0 28px;
  }

  .archive-hero-copy-v75 h1{
    font-size:48px;
  }

  .archive-hero-copy-v75 p:not(.eyebrow){
    font-size:14px;
    line-height:1.8;
  }

  .archive-feature-v75{
    display:block;
    min-height:360px;
  }

  .archive-feature-v75 div{
    left:22px;
    right:22px;
    bottom:24px;
  }

  .archive-feature-v75 h2{
    font-size:30px;
  }

  .archive-control-v75{
    padding:22px;
    margin-bottom:22px;
  }

  .archive-control-head-v75{
    display:block;
  }

  .archive-control-head-v75 h2{
    margin-bottom:18px;
    font-size:30px;
  }

  .archive-tabs-v75{
    overflow-x:auto;
    flex-wrap:nowrap;
    padding-bottom:4px;
  }

  .archive-tabs-v75 button{
    flex:0 0 auto;
  }

  .article-grid-v75{
    display:grid;
    grid-template-columns:1fr;
    gap:18px;
  }

  .article-card-v75,
  .article-card-v75.is-featured{
    display:grid;
    grid-template-columns:1fr;
    grid-template-rows:220px auto;
    min-height:0;
    grid-column:auto;
  }

  .article-card-v75 div,
  .article-card-v75.is-featured div{
    padding:24px 22px 26px;
  }

  .article-card-v75 h3,
  .article-card-v75.is-featured h3{
    font-size:28px;
    line-height:1.22;
  }

  .archive-lower-v75{
    display:grid;
    grid-template-columns:1fr;
    margin-top:44px;
  }

  .archive-lower-v75 strong{
    font-size:20px;
  }
}


/* =========================================================
   ROUND 76 : search results placement / product card scale / footer
   ========================================================= */

/* 検索結果は検索フォーム直下に出し、横スクロールで見る */
#giftSearchResults.gift-search-results{
  width:min(100%,1120px)!important;
  max-width:1120px!important;
  margin:28px auto 54px!important;
  padding:30px 0 6px!important;
  overflow:visible!important;
}

#giftSearchResults .search-results-head{
  padding:0 0 18px!important;
}

#giftSearchResults .search-result-tags{
  padding:0 0 18px!important;
}

#giftSearchGrid.search-result-grid{
  display:flex!important;
  gap:18px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory!important;
  -webkit-overflow-scrolling:touch!important;
  padding:0 0 20px!important;
  grid-template-columns:none!important;
}

#giftSearchGrid.search-result-grid::-webkit-scrollbar{
  height:8px!important;
}

#giftSearchGrid.search-result-grid::-webkit-scrollbar-thumb{
  background:#cdb7a7!important;
  border-radius:999px!important;
}

#giftSearchGrid .search-result-card{
  flex:0 0 280px!important;
  width:280px!important;
  min-width:280px!important;
  max-width:280px!important;
  aspect-ratio:3 / 4!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  scroll-snap-align:start!important;
  position:relative!important;
  overflow:hidden!important;
  border-radius:24px!important;
  background:#efe8df!important;
}

#giftSearchGrid .search-result-card .stable-product-image,
#giftSearchGrid .search-result-card .gift-image-single,
#giftSearchGrid .search-result-card .gift-image-carousel,
#giftSearchGrid .search-result-card .gift-image-track{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:#efe8df!important;
}

#giftSearchGrid .search-result-card img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  margin:0!important;
  padding:0!important;
  border-radius:0!important;
  background:#efe8df!important;
}

#axisSearchForm .round50-select-value:empty::before,
#axisSearchForm .round48-select-value:empty::before{
  content:""!important;
}

/* 商品カードをCreator Picks基準に寄せて大きすぎないよう統一 */
@media(min-width:901px){
  #quickLayout{
    display:grid!important;
    grid-template-columns:repeat(4, 280px)!important;
    justify-content:center!important;
    gap:20px!important;
    max-width:1180px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  #quickLayout .quick-gift-card,
  #giftweenPicksRow .giftween-pick-card,
  #productShowcase .gift-card,
  #giftSearchGrid .search-result-card,
  .calendar-gift-card{
    width:280px!important;
    min-width:280px!important;
    max-width:280px!important;
    aspect-ratio:3 / 4!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
  }

  #giftweenPicksRow{
    display:grid!important;
    grid-template-columns:repeat(3, 280px)!important;
    justify-content:center!important;
    gap:22px!important;
  }

  #productShowcase{
    gap:20px!important;
  }

  #productShowcase .gift-card{
    flex:0 0 280px!important;
  }

  #ranking .ranking-row.ranking-carousel{
    display:grid!important;
    grid-template-columns:repeat(5, minmax(0, 280px))!important;
    justify-content:center!important;
    gap:24px!important;
  }

  #ranking .ranking-card{
    width:280px!important;
    min-width:0!important;
    max-width:280px!important;
  }

  #ranking .ranking-card .ranking-image{
    width:280px!important;
    max-width:280px!important;
    aspect-ratio:3 / 4!important;
    overflow:hidden!important;
  }
}

/* 商品カード画像の左余白・黒余白を出さない */
#quickLayout .quick-gift-card img,
#giftweenPicksRow .giftween-pick-card img,
#dailyTrack .daily-item img,
#productShowcase .gift-card img,
#ranking .ranking-card img,
#giftSearchGrid .search-result-card img,
.calendar-gift-card img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  margin:0!important;
  padding:0!important;
  border-radius:0!important;
}

/* ギフトカレンダーの月タイトルを小文字変換させない */
#calendarTitle{
  text-transform:none!important;
  white-space:nowrap!important;
}

/* フッターを黒背景・白文字に変更 */
.site-footer{
  background:#0f0c09!important;
  color:#fffaf2!important;
  border-top:1px solid rgba(255,255,255,.12)!important;
}

.site-footer a,
.site-footer p,
.site-footer .footer-brand,
.site-footer nav a{
  color:#fffaf2!important;
}

.site-footer nav a{
  border-color:rgba(255,255,255,.28)!important;
}

.site-footer nav a:hover{
  background:rgba(255,255,255,.08)!important;
}

@media(max-width:900px){
  #giftSearchResults.gift-search-results{
    margin:22px 18px 38px!important;
    width:auto!important;
    max-width:none!important;
    padding-top:22px!important;
  }

  #giftSearchGrid.search-result-grid{
    gap:14px!important;
    padding-bottom:18px!important;
  }

  #giftSearchGrid .search-result-card{
    flex:0 0 76vw!important;
    width:76vw!important;
    min-width:76vw!important;
    max-width:76vw!important;
    border-radius:22px!important;
  }
}


/* =========================================================
   ROUND 77 : search / calendar / footer final adjustments
   ========================================================= */

/* 検索結果は検索直下。横スクロールで該当ギフトを見る */
#giftSearchResults.gift-search-results{
  display:block!important;
  width:min(100%,1120px)!important;
  max-width:1120px!important;
  margin:24px auto 54px!important;
  padding:28px 0 8px!important;
  overflow:visible!important;
  order:0!important;
}
#giftSearchResults[hidden]{
  display:none!important;
}
#giftSearchResults .search-results-head,
#giftSearchResults .search-result-tags{
  padding-left:0!important;
  padding-right:0!important;
}
#giftSearchGrid.search-result-grid,
#giftSearchGrid.round77-search-scroll{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:18px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  scroll-snap-type:x mandatory!important;
  grid-template-columns:none!important;
  padding:0 0 22px!important;
}
#giftSearchGrid.search-result-grid::-webkit-scrollbar{height:8px!important;}
#giftSearchGrid.search-result-grid::-webkit-scrollbar-thumb{background:#b79a84!important;border-radius:999px!important;}
#giftSearchGrid .search-result-card{
  flex:0 0 280px!important;
  width:280px!important;
  min-width:280px!important;
  max-width:280px!important;
  aspect-ratio:3/4!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  position:relative!important;
  display:block!important;
  overflow:hidden!important;
  scroll-snap-align:start!important;
  border-radius:24px!important;
  background:#efe8df!important;
}
#giftSearchGrid .search-result-card .stable-product-image,
#giftSearchGrid .search-result-card .gift-image-single,
#giftSearchGrid .search-result-card .gift-image-carousel,
#giftSearchGrid .search-result-card .gift-image-track,
#giftSearchGrid .search-result-card .round77-image-fill{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  background:#efe8df!important;
}
#giftSearchGrid .search-result-card img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
}
#giftSearchGrid .search-result-card > div:not(.stable-product-image):not(.gift-image-single):not(.gift-image-carousel):not(.gift-image-track){
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  z-index:3!important;
  padding:22px 18px 20px!important;
  background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.18) 16%,rgba(0,0,0,.72) 100%)!important;
  color:#fffaf2!important;
}
#giftSearchGrid .search-result-card h3{font-size:22px!important;line-height:1.25!important;color:#fffaf2!important;margin:0 0 8px!important;}
#giftSearchGrid .search-result-card p,
#giftSearchGrid .search-result-card span,
#giftSearchGrid .search-result-card strong,
#giftSearchGrid .search-result-card small{color:#fffaf2!important;}

#axisSearchForm .round50-select-value,
#axisSearchForm .round48-select-value{
  min-height:1em!important;
}
#axisSearchForm .round50-select-value:empty::before,
#axisSearchForm .round48-select-value:empty::before{content:""!important;}

/* 商品カードサイズをCreator Picks基準に寄せる */
@media(min-width:901px){
  #quickLayout{grid-template-columns:repeat(4,280px)!important;justify-content:center!important;gap:20px!important;max-width:1180px!important;margin-left:auto!important;margin-right:auto!important;}
  #giftweenPicksRow{grid-template-columns:repeat(3,280px)!important;justify-content:center!important;gap:22px!important;}
  #quickLayout .quick-gift-card,
  #giftweenPicksRow .giftween-pick-card,
  #productShowcase .gift-card,
  #giftSearchGrid .search-result-card,
  .calendar-gift-card{
    width:280px!important;min-width:280px!important;max-width:280px!important;aspect-ratio:3/4!important;height:auto!important;min-height:0!important;max-height:none!important;
  }
  #productShowcase .gift-card{flex:0 0 280px!important;}
  #ranking .ranking-row.ranking-carousel{display:grid!important;grid-template-columns:repeat(5,minmax(0,280px))!important;justify-content:center!important;gap:24px!important;}
  #ranking .ranking-card{width:280px!important;max-width:280px!important;}
  #ranking .ranking-card .ranking-image{width:280px!important;max-width:280px!important;aspect-ratio:3/4!important;overflow:hidden!important;}
}
#quickLayout .quick-gift-card img,
#giftweenPicksRow .giftween-pick-card img,
#dailyTrack .daily-item img,
#productShowcase .gift-card img,
#ranking .ranking-card img,
#giftSearchGrid .search-result-card img,
.calendar-gift-card img{
  width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;margin:0!important;padding:0!important;border-radius:0!important;
}

/* POPUP画像サイズをCreator Picks基準に統一 */
@media(min-width:901px){
  #quickGiftModal.open .modal-box,
  #giftweenPicksModal.open .modal-box,
  #editorPickModal.open .modal-box,
  #calendarModal.open .modal-box,
  #rankingModal.open .modal-box,
  #searchGiftModal.open .modal-box{
    width:min(980px,calc(100vw - 72px))!important;height:500px!important;max-height:calc(100vh - 72px)!important;overflow:hidden!important;border-radius:0!important;
  }
  .quick-gift-detail,
  .quick-gift-detail-v75,
  .giftween-pick-detail,
  .calendar-pop-detail,
  .round55-detail,
  .force-calendar-detail,
  .ranking-detail,
  .ranking-modal-clean{
    display:grid!important;grid-template-columns:375px minmax(0,1fr)!important;width:100%!important;height:100%!important;align-items:stretch!important;overflow:hidden!important;
  }
  .quick-gift-detail-media,
  .giftween-pick-detail-media,
  .editor-pick-detail-media,
  .calendar-pop-media,
  .round55-detail-media,
  .force-calendar-media,
  .ranking-detail-image,
  .ranking-modal-clean-image{
    width:375px!important;min-width:375px!important;max-width:375px!important;height:500px!important;min-height:500px!important;max-height:500px!important;aspect-ratio:3/4!important;overflow:hidden!important;border-radius:0!important;background:#efe8df!important;
  }
  .quick-gift-detail-copy,
  .giftween-pick-detail-copy,
  .calendar-pop-copy,
  .round55-detail-copy,
  .force-calendar-copy,
  .ranking-detail-copy,
  .ranking-modal-clean-copy{
    height:500px!important;max-height:500px!important;overflow-y:auto!important;padding:40px 48px!important;box-sizing:border-box!important;
  }
}
@media(max-width:900px){
  #giftSearchResults.gift-search-results{width:auto!important;max-width:none!important;margin:22px 18px 38px!important;padding-top:22px!important;}
  #giftSearchGrid.search-result-grid{gap:14px!important;padding-bottom:18px!important;}
  #giftSearchGrid .search-result-card{flex:0 0 76vw!important;width:76vw!important;min-width:76vw!important;max-width:76vw!important;border-radius:22px!important;}
  .quick-gift-detail-media,
  .giftween-pick-detail-media,
  .editor-pick-detail-media,
  .calendar-pop-media,
  .round55-detail-media,
  .force-calendar-media,
  .ranking-detail-image,
  .ranking-modal-clean-image{width:100%!important;max-width:none!important;min-width:0!important;aspect-ratio:3/4!important;height:auto!important;min-height:0!important;max-height:none!important;}
}

/* カレンダー月タイトル */
#calendarTitle{text-transform:none!important;white-space:nowrap!important;}

/* フッター：ブラウン背景＋白文字 */
.site-footer{
  background:linear-gradient(135deg,#3a2118 0%,#24140f 58%,#170f0b 100%)!important;
  color:#fffaf2!important;
  border-top:1px solid rgba(255,255,255,.14)!important;
}
.site-footer a,
.site-footer p,
.site-footer .footer-brand,
.site-footer nav a{color:#fffaf2!important;}
.site-footer nav a{border-color:rgba(255,255,255,.28)!important;}
.site-footer nav a:hover{background:rgba(255,255,255,.1)!important;}


/* =========================================================
   ROUND 78 : PC today/ranking + popup scale final correction
   ========================================================= */

/* 検索結果はギフト検索フォーム直下。横スクロールで該当ギフトを見る */
#search #giftSearchResults.round78-search-results-under-form,
#giftSearchResults.round78-search-results-under-form{
  width:100%!important;
  max-width:1120px!important;
  margin:26px auto 28px!important;
  padding:24px 0 4px!important;
  overflow:visible!important;
}

#giftSearchGrid.round78-search-scroll,
#giftSearchGrid.search-result-grid{
  display:flex!important;
  grid-template-columns:none!important;
  gap:18px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scroll-snap-type:x mandatory!important;
  -webkit-overflow-scrolling:touch!important;
  padding:0 0 18px!important;
  margin:0!important;
}

#giftSearchGrid.round78-search-scroll .search-result-card,
#giftSearchGrid.search-result-grid .search-result-card{
  flex:0 0 280px!important;
  width:280px!important;
  min-width:280px!important;
  max-width:280px!important;
  height:373px!important;
  min-height:373px!important;
  max-height:373px!important;
  aspect-ratio:3 / 4!important;
  position:relative!important;
  overflow:hidden!important;
  scroll-snap-align:start!important;
  background:#efe8df!important;
  border-radius:18px!important;
}

#giftSearchGrid .search-result-card .stable-product-image,
#giftSearchGrid .search-result-card .gift-image-single,
#giftSearchGrid .search-result-card .gift-image-carousel,
#giftSearchGrid .search-result-card .gift-image-track{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
  background:#efe8df!important;
}

#giftSearchGrid .search-result-card img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
}

#axisSearchForm .round50-select-value,
#axisSearchForm .round48-select-value{
  min-height:1em!important;
}

/* PC：今日は何の日の縦幅を抑える */
@media(min-width:901px){
  #today.today-row,
  .today-row#today{
    width:min(100%,1120px)!important;
    max-width:1120px!important;
    margin:0 auto!important;
    padding:54px 0!important;
    display:grid!important;
    grid-template-columns:260px minmax(0,1fr)!important;
    gap:28px!important;
    align-items:start!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }

  #today .today-card.glass-card,
  #today .today-card{
    height:360px!important;
    min-height:360px!important;
    max-height:360px!important;
    padding:26px 24px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
    border-radius:0!important;
  }

  #today .today-card h2{
    font-size:28px!important;
    line-height:1.2!important;
    margin:10px 0 14px!important;
    letter-spacing:-.04em!important;
  }

  #today .today-card .thin-line{
    margin:14px 0!important;
  }

  #today .date-block{
    margin:16px 0!important;
    gap:10px!important;
  }

  #today .date-block strong{
    font-size:54px!important;
    line-height:.95!important;
  }

  #today .date-block small{
    font-size:13px!important;
  }

  #today .today-card h3{
    font-size:28px!important;
    line-height:1.15!important;
    margin:12px 0!important;
  }

  #today .today-card p:not(.eyebrow){
    font-size:13px!important;
    line-height:1.7!important;
    margin:0!important;
  }

  #today .daily-slider.glass-card,
  #today .daily-slider{
    height:400px!important;
    min-height:400px!important;
    max-height:400px!important;
    padding:0!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    overflow:hidden!important;
    display:block!important;
  }

  #today .daily-slider .section-title-row{
    height:36px!important;
    min-height:36px!important;
    margin:0 0 16px!important;
    padding:0!important;
    display:flex!important;
    align-items:flex-start!important;
  }

  #today .daily-slider .section-title-row h2{
    font-size:30px!important;
    line-height:1.15!important;
    margin:0!important;
    letter-spacing:-.04em!important;
  }

  #today .slider-window{
    height:348px!important;
    min-height:348px!important;
    max-height:348px!important;
    width:100%!important;
    overflow:visible!important;
  }

  #dailyTrack.slider-track,
  #dailyTrack{
    display:flex!important;
    grid-template-columns:none!important;
    grid-template-rows:none!important;
    gap:18px!important;
    width:100%!important;
    height:348px!important;
    min-height:348px!important;
    max-height:348px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
    padding:0 0 14px!important;
    margin:0!important;
    transform:none!important;
  }

  #dailyTrack .daily-item,
  #dailyTrack .daily-item:first-child,
  .daily-slider .daily-item,
  .daily-slider .daily-item:first-child{
    flex:0 0 260px!important;
    width:260px!important;
    min-width:260px!important;
    max-width:260px!important;
    height:347px!important;
    min-height:347px!important;
    max-height:347px!important;
    aspect-ratio:3 / 4!important;
    display:block!important;
    position:relative!important;
    overflow:hidden!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    margin:0!important;
    border-radius:18px!important;
    background:#efe8df!important;
  }

  #dailyTrack .gift-image-single,
  #dailyTrack .gift-image-carousel,
  #dailyTrack .gift-image-track,
  #dailyTrack .stable-product-image{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    overflow:hidden!important;
    margin:0!important;
    padding:0!important;
  }

  #dailyTrack .daily-item img{
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    margin:0!important;
    padding:0!important;
    border-radius:0!important;
    filter:none!important;
    transform:none!important;
  }

  #today .daily-record-controls{
    display:none!important;
  }
}

/* PC：ランキングを整える。大きな数字は小さなラベルに戻す */
@media(min-width:901px){
  #ranking{
    padding:76px 0!important;
    overflow:hidden!important;
  }

  #ranking .ranking-head{
    width:min(100%,1120px)!important;
    max-width:1120px!important;
    margin:0 auto 28px!important;
    padding:0!important;
  }

  #ranking .ranking-row,
  #ranking .ranking-carousel{
    width:min(100%,1120px)!important;
    max-width:1120px!important;
    margin:0 auto!important;
    display:flex!important;
    grid-template-columns:none!important;
    gap:18px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
    padding:0 0 18px!important;
  }

  #ranking .ranking-card{
    flex:0 0 206px!important;
    width:206px!important;
    min-width:206px!important;
    max-width:206px!important;
    display:block!important;
    position:relative!important;
    overflow:visible!important;
    background:transparent!important;
    border:0!important;
    padding:0!important;
    scroll-snap-align:start!important;
  }

  #ranking .ranking-card .ranking-image{
    position:relative!important;
    width:206px!important;
    min-width:206px!important;
    max-width:206px!important;
    height:275px!important;
    min-height:275px!important;
    max-height:275px!important;
    aspect-ratio:3 / 4!important;
    overflow:hidden!important;
    border-radius:0!important;
    background:#231b16!important;
  }

  #ranking .ranking-card .ranking-image img{
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
  }

  #ranking .ranking-card .rank-num{
    position:absolute!important;
    top:10px!important;
    left:10px!important;
    z-index:5!important;
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    min-height:32px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    background:rgba(18,14,11,.66)!important;
    border:1px solid rgba(255,250,242,.65)!important;
    border-radius:0!important;
    color:#fffaf2!important;
    font-size:14px!important;
    line-height:1!important;
    letter-spacing:0!important;
    font-weight:400!important;
    transform:none!important;
    pointer-events:none!important;
    opacity:1!important;
  }

  #ranking .ranking-meta{
    padding:16px 0 0!important;
    color:#fffaf2!important;
  }

  #ranking .ranking-meta span{
    font-size:11px!important;
    letter-spacing:.16em!important;
    color:#d5a46f!important;
  }

  #ranking .ranking-meta h3{
    margin:10px 0 8px!important;
    font-size:18px!important;
    line-height:1.35!important;
    color:#fffaf2!important;
  }

  #ranking .ranking-meta p{
    margin:0!important;
    font-size:16px!important;
    color:#fffaf2!important;
  }

  #ranking .ranking-swipe-note{
    width:min(100%,1120px)!important;
    margin:12px auto 0!important;
    color:rgba(255,250,242,.62)!important;
  }
}

/* 商品カードサイズ：Creator Picks相当の見え方へ寄せる */
@media(min-width:901px){
  #quickLayout .quick-gift-card,
  #giftweenPicksRow .giftween-pick-card,
  #productShowcase .gift-card,
  .calendar-gift-card{
    width:280px!important;
    min-width:280px!important;
    max-width:280px!important;
    height:373px!important;
    min-height:373px!important;
    max-height:373px!important;
    aspect-ratio:3 / 4!important;
    overflow:hidden!important;
  }
}

/* 全商品POPUP画像サイズをCreator Picks基準に統一 */
@media(min-width:901px){
  #quickGiftModal.open .modal-box,
  #giftweenPicksModal.open .modal-box,
  #editorPickModal.open .modal-box,
  #calendarModal.open .modal-box,
  #rankingModal.open .modal-box,
  #searchGiftModal.open .modal-box{
    width:min(980px, calc(100vw - 72px))!important;
    max-width:min(980px, calc(100vw - 72px))!important;
    height:560px!important;
    min-height:560px!important;
    max-height:calc(100vh - 72px)!important;
    padding:0!important;
    overflow:hidden!important;
    border-radius:0!important;
  }

  .quick-gift-detail,
  .quick-gift-detail-v75,
  .giftween-pick-detail,
  .calendar-pop-detail,
  .round41-detail,
  .round55-detail,
  .force-calendar-detail,
  .ranking-detail,
  .ranking-modal-clean{
    display:grid!important;
    grid-template-columns:420px minmax(0,1fr)!important;
    width:100%!important;
    height:560px!important;
    min-height:560px!important;
    max-height:560px!important;
    overflow:hidden!important;
    align-items:stretch!important;
    background:#fffdf9!important;
  }

  .quick-gift-detail-media,
  .giftween-pick-detail-media,
  .editor-pick-detail-media,
  .calendar-pop-media,
  .round41-detail-media,
  .round55-detail-media,
  .force-calendar-media,
  .ranking-detail-image,
  .ranking-modal-clean-image{
    position:relative!important;
    width:420px!important;
    min-width:420px!important;
    max-width:420px!important;
    height:560px!important;
    min-height:560px!important;
    max-height:560px!important;
    aspect-ratio:3 / 4!important;
    overflow:hidden!important;
    margin:0!important;
    padding:0!important;
    border-radius:0!important;
    background:#efe8df!important;
  }

  .quick-gift-detail-media img,
  .giftween-pick-detail-media img,
  .editor-pick-detail-media img,
  .calendar-pop-media img,
  .round41-detail-media img,
  .round55-detail-media img,
  .force-calendar-media img,
  .ranking-detail-image img,
  .ranking-modal-clean-image img{
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    margin:0!important;
    padding:0!important;
    border-radius:0!important;
  }

  .quick-gift-detail-copy,
  .giftween-pick-detail-copy,
  .calendar-pop-copy,
  .round41-detail-copy,
  .round55-detail-copy,
  .force-calendar-copy,
  .ranking-detail-copy,
  .ranking-modal-clean-copy{
    height:560px!important;
    max-height:560px!important;
    overflow-y:auto!important;
    padding:42px 48px!important;
    box-sizing:border-box!important;
  }
}

/* SP：今日・ランキング・POPUPの巨大化防止 */
@media(max-width:900px){
  #today.today-row{
    padding-top:42px!important;
    padding-bottom:42px!important;
  }

  #today .daily-slider,
  #today .daily-slider.glass-card{
    height:auto!important;
    max-height:none!important;
  }

  #dailyTrack{
    display:flex!important;
    overflow-x:auto!important;
    gap:14px!important;
  }

  #dailyTrack .daily-item{
    flex:0 0 76vw!important;
    width:76vw!important;
    min-width:76vw!important;
    max-width:76vw!important;
    height:auto!important;
    aspect-ratio:3 / 4!important;
  }

  #ranking .ranking-row{
    display:flex!important;
    overflow-x:auto!important;
    gap:14px!important;
    padding:0 18px 18px!important;
  }

  #ranking .ranking-card{
    flex:0 0 64vw!important;
    width:64vw!important;
    min-width:64vw!important;
    max-width:64vw!important;
  }

  #ranking .ranking-card .rank-num{
    font-size:14px!important;
    width:32px!important;
    height:32px!important;
    top:10px!important;
    left:10px!important;
  }
}

/* フッター：ブラウン濃色、文字は白系 */
.footer,
.site-footer{
  background:#2b211b!important;
  color:#fffaf2!important;
  border-top:1px solid rgba(255,250,242,.12)!important;
}

.footer a,
.site-footer a,
.footer p,
.site-footer p,
.footer h2,
.site-footer h2,
.footer h3,
.site-footer h3,
.footer-brand,
.footer-brand h2,
.footer-brand p{
  color:#fffaf2!important;
}

.footer a:hover,
.site-footer a:hover{
  color:#e5b77c!important;
}


/* =========================================================
   ROUND 79 : Today height alignment + mobile popup image size
   記事一覧ページは触らない
   ========================================================= */

/* WEB版：今日は何の日の左カードと右側ギフトエリアの縦幅を揃える */
@media(min-width:901px){
  #today.today-row,
  .today-row#today{
    width:min(100%,1120px)!important;
    max-width:1120px!important;
    margin:0 auto!important;
    padding:54px 0!important;
    display:grid!important;
    grid-template-columns:280px minmax(0,1fr)!important;
    gap:30px!important;
    align-items:stretch!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }

  #today .today-card.glass-card,
  #today .today-card{
    height:520px!important;
    min-height:520px!important;
    max-height:520px!important;
    box-sizing:border-box!important;
    padding:32px 28px!important;
    overflow:hidden!important;
    align-self:stretch!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:flex-start!important;
    border-radius:0!important;
  }

  #today .today-card .eyebrow{
    margin:0 0 14px!important;
  }

  #today .today-card h2{
    margin:0 0 20px!important;
    font-size:31px!important;
    line-height:1.22!important;
    letter-spacing:-.04em!important;
  }

  #today .today-card .thin-line{
    margin:0 0 28px!important;
  }

  #today .date-block{
    margin:0 0 28px!important;
    gap:12px!important;
    align-items:flex-end!important;
  }

  #today .date-block strong{
    font-size:62px!important;
    line-height:.95!important;
    letter-spacing:-.06em!important;
  }

  #today .date-block small{
    font-size:14px!important;
    padding-bottom:8px!important;
  }

  #today .today-card h3{
    margin:0 0 18px!important;
    font-size:34px!important;
    line-height:1.15!important;
  }

  #today .today-card p:not(.eyebrow){
    margin:0!important;
    font-size:14px!important;
    line-height:1.8!important;
  }

  #today .daily-slider.glass-card,
  #today .daily-slider{
    height:520px!important;
    min-height:520px!important;
    max-height:520px!important;
    box-sizing:border-box!important;
    padding:0!important;
    margin:0!important;
    align-self:stretch!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    display:grid!important;
    grid-template-rows:64px minmax(0,456px)!important;
    gap:0!important;
    overflow:hidden!important;
  }

  #today .daily-slider .section-title-row{
    height:64px!important;
    min-height:64px!important;
    max-height:64px!important;
    margin:0!important;
    padding:0!important;
    display:flex!important;
    align-items:flex-start!important;
  }

  #today .daily-slider .section-title-row h2{
    margin:0!important;
    font-size:34px!important;
    line-height:1.18!important;
    letter-spacing:-.045em!important;
  }

  #today .slider-window{
    height:456px!important;
    min-height:456px!important;
    max-height:456px!important;
    width:100%!important;
    overflow:hidden!important;
    margin:0!important;
    padding:0!important;
  }

  #dailyTrack.slider-track,
  #dailyTrack{
    display:flex!important;
    grid-template-columns:none!important;
    grid-template-rows:none!important;
    gap:18px!important;
    width:100%!important;
    height:456px!important;
    min-height:456px!important;
    max-height:456px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    -webkit-overflow-scrolling:touch!important;
    padding:0 0 12px!important;
    margin:0!important;
    transform:none!important;
  }

  #dailyTrack .daily-item,
  #dailyTrack .daily-item:first-child,
  .daily-slider .daily-item,
  .daily-slider .daily-item:first-child{
    flex:0 0 342px!important;
    width:342px!important;
    min-width:342px!important;
    max-width:342px!important;
    height:456px!important;
    min-height:456px!important;
    max-height:456px!important;
    aspect-ratio:3 / 4!important;
    display:block!important;
    position:relative!important;
    overflow:hidden!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    margin:0!important;
    border-radius:18px!important;
    background:#efe8df!important;
    scroll-snap-align:start!important;
  }

  #dailyTrack .daily-item img,
  .daily-slider .daily-item img{
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    margin:0!important;
    padding:0!important;
    border-radius:0!important;
    filter:none!important;
    transform:none!important;
  }
}

/* スマホ版：全商品POPUP画像を送付スクショ2枚目のサイズ感に統一 */
@media(max-width:900px){
  #quickGiftModal.open .modal-box,
  #giftweenPicksModal.open .modal-box,
  #editorPickModal.open .modal-box,
  #calendarModal.open .modal-box,
  #rankingModal.open .modal-box,
  #searchGiftModal.open .modal-box{
    width:100%!important;
    max-width:640px!important;
    height:auto!important;
    max-height:calc(100vh - 16px)!important;
    margin:8px auto!important;
    padding:0!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    border-radius:0!important;
    background:#fffdf9!important;
  }

  .quick-gift-detail,
  .quick-gift-detail-v75,
  .giftween-pick-detail,
  .calendar-pop-detail,
  .round41-detail,
  .round55-detail,
  .force-calendar-detail,
  .ranking-detail,
  .ranking-modal-clean{
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    background:#fffdf9!important;
  }

  .quick-gift-detail-media,
  .giftween-pick-detail-media,
  .editor-pick-detail-media,
  .calendar-pop-media,
  .round41-detail-media,
  .round55-detail-media,
  .force-calendar-media,
  .ranking-detail-image,
  .ranking-modal-clean-image{
    position:relative!important;
    width:calc(100% - 72px)!important;
    max-width:540px!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:3 / 4!important;
    margin:34px auto 28px!important;
    padding:0!important;
    overflow:hidden!important;
    border-radius:0!important;
    background:#efe8df!important;
  }

  .quick-gift-detail-media .stable-product-image,
  .giftween-pick-detail-media .stable-product-image,
  .editor-pick-detail-media .stable-product-image,
  .calendar-pop-media .stable-product-image,
  .round41-detail-media .stable-product-image,
  .round55-detail-media .stable-product-image,
  .force-calendar-media .stable-product-image,
  .ranking-detail-image .stable-product-image,
  .ranking-modal-clean-image .stable-product-image,
  .quick-gift-detail-media .gift-image-single,
  .giftween-pick-detail-media .gift-image-single,
  .editor-pick-detail-media .gift-image-single,
  .calendar-pop-media .gift-image-single,
  .round41-detail-media .gift-image-single,
  .round55-detail-media .gift-image-single,
  .force-calendar-media .gift-image-single,
  .ranking-detail-image .gift-image-single,
  .ranking-modal-clean-image .gift-image-single,
  .quick-gift-detail-media .round41-carousel,
  .giftween-pick-detail-media .round41-carousel,
  .calendar-pop-media .round41-carousel,
  .ranking-detail-image .round41-carousel{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
  }

  .quick-gift-detail-media img,
  .giftween-pick-detail-media img,
  .editor-pick-detail-media img,
  .calendar-pop-media img,
  .round41-detail-media img,
  .round55-detail-media img,
  .force-calendar-media img,
  .ranking-detail-image img,
  .ranking-modal-clean-image img{
    position:absolute!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    margin:0!important;
    padding:0!important;
    border-radius:0!important;
    filter:none!important;
    transform:none!important;
  }

  .quick-gift-detail-copy,
  .giftween-pick-detail-copy,
  .calendar-pop-copy,
  .round41-detail-copy,
  .round55-detail-copy,
  .force-calendar-copy,
  .ranking-detail-copy,
  .ranking-modal-clean-copy{
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
    padding:0 42px 48px!important;
    box-sizing:border-box!important;
  }

  .modal.open .modal-close{
    top:22px!important;
    right:22px!important;
    z-index:50!important;
  }
}


/* =========================================================
   ROUND 80 : restore image carousel
   - 商品カード画像：最大5枚 / 2秒自動切り替え
   - POPUP画像：左右ボタン / 3秒自動切り替え / スマホスワイプ
   記事一覧ページは触らない
   ========================================================= */

.gw80-gallery{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
  background:#efe8df!important;
  border-radius:0!important;
  isolation:isolate!important;
  touch-action:pan-y!important;
}

.gw80-stage{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
  background:#efe8df!important;
}

.gw80-slide{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  opacity:0!important;
  visibility:hidden!important;
  z-index:1!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  filter:none!important;
  transform:none!important;
  transition:opacity .42s ease!important;
}

.gw80-slide.is-active{
  opacity:1!important;
  visibility:visible!important;
  z-index:2!important;
}

.gw80-slide[src*="letter.jpg"]{
  object-position:center 74%!important;
}

/* 商品カード上では自動切り替えのみ。矢印・ドットは出さない */
.gw80-arrow,
.gw80-dots{
  display:none!important;
}

/* POPUP内だけ矢印・ドットを表示 */
.modal.open .gw80-arrow{
  position:absolute!important;
  top:50%!important;
  z-index:20!important;
  width:42px!important;
  height:42px!important;
  padding:0!important;
  border:1px solid rgba(255,250,242,.76)!important;
  border-radius:0!important;
  background:rgba(22,17,13,.56)!important;
  color:#fffaf2!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:30px!important;
  line-height:1!important;
  transform:translateY(-50%)!important;
  cursor:pointer!important;
  pointer-events:auto!important;
}

.modal.open .gw80-prev{
  left:16px!important;
}

.modal.open .gw80-next{
  right:16px!important;
}

.modal.open .gw80-dots{
  position:absolute!important;
  left:50%!important;
  bottom:16px!important;
  z-index:21!important;
  display:flex!important;
  gap:7px!important;
  align-items:center!important;
  justify-content:center!important;
  transform:translateX(-50%)!important;
  pointer-events:auto!important;
}

.modal.open .gw80-dots button{
  width:8px!important;
  height:8px!important;
  padding:0!important;
  border:0!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.55)!important;
  cursor:pointer!important;
}

.modal.open .gw80-dots button.active{
  width:22px!important;
  background:#fff!important;
}

/* 旧カルーセルUIは引き続き非表示。gw80だけを使用 */
.modal.open .gift-carousel-arrow,
.modal.open .round46-carousel-arrow,
.modal.open .round51-carousel-arrow,
.modal.open .round52-carousel-arrow,
.modal.open .round55-modal-arrow,
.modal.open .round58-carousel-arrow,
.modal.open .round70-arrow,
.modal.open .r67-carousel-arrow,
.modal.open .r71-arrow,
.modal.open .gw-gallery-arrow,
.modal.open .gift-carousel-dots,
.modal.open .round51-carousel-dots,
.modal.open .round52-carousel-dots,
.modal.open .round55-modal-dots,
.modal.open .round58-carousel-dots,
.modal.open .round70-dots,
.modal.open .r67-carousel-dots,
.modal.open .r71-dots,
.modal.open .gw-gallery-dots{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* gw80が入る画像枠を全商品カードで維持 */
#quickLayout .quick-gift-card,
#giftweenPicksRow .giftween-pick-card,
#dailyTrack .daily-item,
#productShowcase .gift-card,
#ranking .ranking-card .ranking-image,
#giftSearchGrid .search-result-card,
.calendar-gift-card{
  position:relative!important;
  overflow:hidden!important;
}

/* POPUPの既存サイズ感はround79を維持し、gw80だけを中に敷く */
.quick-gift-detail-media .gw80-gallery,
.giftween-pick-detail-media .gw80-gallery,
.editor-pick-detail-media .gw80-gallery,
.calendar-pop-media .gw80-gallery,
.round41-detail-media .gw80-gallery,
.round55-detail-media .gw80-gallery,
.force-calendar-media .gw80-gallery,
.ranking-detail-image .gw80-gallery,
.ranking-modal-clean-image .gw80-gallery{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
}

/* スマホPOPUPも同じサイズ感のままスワイプ可能に */
@media(max-width:900px){
  .modal.open .gw80-arrow{
    width:36px!important;
    height:36px!important;
    font-size:26px!important;
  }

  .modal.open .gw80-prev{
    left:10px!important;
  }

  .modal.open .gw80-next{
    right:10px!important;
  }

  .modal.open .gw80-dots{
    bottom:12px!important;
  }
}


/* =========================================================
   ROUND 81 : user-like article archive refresh
   TOP / 商品 / POPUPは触らない
   ========================================================= */

.article-library-page-v81{
  background:#fbf6ee!important;
  color:#17130f!important;
}

.article-library-main-v81{
  padding:108px 28px 84px!important;
}

/* hero */
.article-library-hero-v81{
  width:min(100%,1180px)!important;
  max-width:1180px!important;
  margin:0 auto 58px!important;
  display:grid!important;
  grid-template-columns:minmax(0,.86fr) minmax(560px,1.14fr)!important;
  gap:44px!important;
  align-items:end!important;
}

.article-library-title-v81{
  padding:20px 0 14px!important;
}

.article-library-title-v81 h1{
  margin:14px 0 24px!important;
  font-size:clamp(52px,7.1vw,98px)!important;
  line-height:1.02!important;
  letter-spacing:-.08em!important;
}

.article-library-title-v81 p:not(.eyebrow){
  max-width:520px!important;
  margin:0!important;
  color:#6f6257!important;
  font-size:16px!important;
  line-height:1.9!important;
}

/* latest */
.article-latest-panel-v81{
  display:grid!important;
  grid-template-columns:minmax(0,1.28fr) minmax(210px,.72fr)!important;
  gap:18px!important;
  align-items:stretch!important;
}

.latest-main-v81 a,
.latest-side-v81 a{
  position:relative!important;
  display:block!important;
  overflow:hidden!important;
  background:#17130f!important;
  color:#fffaf2!important;
  text-decoration:none!important;
}

.latest-main-v81 a{
  min-height:520px!important;
  border-radius:0!important;
  box-shadow:0 28px 72px rgba(64,42,24,.15)!important;
}

.latest-side-v81{
  display:grid!important;
  grid-template-rows:1fr 1fr!important;
  gap:18px!important;
}

.latest-side-v81 a{
  min-height:251px!important;
  border-radius:0!important;
}

.latest-main-v81 img,
.latest-side-v81 img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  transition:transform .55s ease!important;
}

.latest-main-v81 a::after,
.latest-side-v81 a::after{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(180deg,rgba(0,0,0,.05) 0%,rgba(0,0,0,.16) 42%,rgba(0,0,0,.78) 100%)!important;
  z-index:1!important;
}

.latest-main-v81 a > div,
.latest-side-v81 a > div{
  position:absolute!important;
  z-index:2!important;
  left:28px!important;
  right:28px!important;
  bottom:28px!important;
}

.latest-main-v81 span,
.latest-side-v81 span{
  display:block!important;
  margin:0 0 12px!important;
  color:#d9a66f!important;
  font-size:12px!important;
  letter-spacing:.18em!important;
}

.latest-main-v81 h2{
  margin:0 0 16px!important;
  font-size:44px!important;
  line-height:1.13!important;
  letter-spacing:-.055em!important;
}

.latest-main-v81 p{
  max-width:520px!important;
  margin:0!important;
  color:rgba(255,250,242,.88)!important;
  font-size:15px!important;
  line-height:1.8!important;
}

.latest-side-v81 strong{
  display:block!important;
  color:#fffaf2!important;
  font-size:20px!important;
  line-height:1.35!important;
}

.latest-main-v81 a:hover img,
.latest-side-v81 a:hover img{
  transform:scale(1.045)!important;
}

/* start guide */
.article-entry-guide-v81{
  width:min(100%,1180px)!important;
  max-width:1180px!important;
  margin:0 auto 36px!important;
}

.entry-guide-head-v81{
  display:flex!important;
  justify-content:space-between!important;
  align-items:end!important;
  gap:24px!important;
  margin-bottom:18px!important;
}

.entry-guide-head-v81 h2{
  margin:8px 0 0!important;
  font-size:34px!important;
  line-height:1.2!important;
  letter-spacing:-.045em!important;
}

.entry-guide-grid-v81{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
}

.entry-guide-grid-v81 button{
  appearance:none!important;
  border:1px solid #dfcec0!important;
  background:#fffdf9!important;
  color:#17130f!important;
  text-align:left!important;
  padding:22px 20px 20px!important;
  min-height:160px!important;
  cursor:pointer!important;
  box-shadow:0 18px 44px rgba(64,42,24,.06)!important;
  transition:transform .25s ease, border-color .25s ease, background .25s ease!important;
}

.entry-guide-grid-v81 button:hover{
  transform:translateY(-3px)!important;
  border-color:#a66642!important;
  background:#fff8ef!important;
}

.entry-guide-grid-v81 span{
  display:block!important;
  margin:0 0 18px!important;
  color:#a66642!important;
  font-size:12px!important;
  letter-spacing:.18em!important;
}

.entry-guide-grid-v81 strong{
  display:block!important;
  margin:0 0 10px!important;
  font-size:20px!important;
  line-height:1.35!important;
  letter-spacing:-.025em!important;
}

.entry-guide-grid-v81 small{
  display:block!important;
  color:#6f6257!important;
  font-size:13px!important;
  line-height:1.6!important;
}

/* search */
.article-search-v81{
  position:sticky!important;
  top:78px!important;
  z-index:8!important;
  width:min(100%,1180px)!important;
  max-width:1180px!important;
  margin:0 auto 34px!important;
  padding:22px!important;
  background:rgba(251,246,238,.94)!important;
  border:1px solid #dfcec0!important;
  backdrop-filter:blur(12px)!important;
}

.article-search-bar-v81{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:14px!important;
  align-items:end!important;
  margin-bottom:16px!important;
}

.article-search-bar-v81 label{
  display:grid!important;
  gap:8px!important;
}

.article-search-bar-v81 label span{
  color:#a66642!important;
  font-size:12px!important;
  letter-spacing:.15em!important;
}

.article-search-bar-v81 input{
  width:100%!important;
  height:50px!important;
  border:1px solid #d9c5b5!important;
  border-radius:0!important;
  background:#fffdf9!important;
  color:#17130f!important;
  font:inherit!important;
  font-size:16px!important;
  padding:0 16px!important;
  outline:none!important;
}

.article-search-bar-v81 input:focus{
  border-color:#a66642!important;
  box-shadow:0 0 0 3px rgba(166,102,66,.12)!important;
}

.article-search-bar-v81 button,
.article-filter-row-v81 button,
.article-keyword-row-v81 button{
  appearance:none!important;
  min-height:40px!important;
  border:1px solid #d9c5b5!important;
  border-radius:999px!important;
  background:#fffdf9!important;
  color:#5f5248!important;
  padding:0 16px!important;
  cursor:pointer!important;
  font:inherit!important;
  font-size:13px!important;
  white-space:nowrap!important;
}

.article-search-bar-v81 button{
  height:50px!important;
  border-radius:0!important;
}

.article-filter-row-v81,
.article-keyword-row-v81{
  display:flex!important;
  gap:9px!important;
  flex-wrap:wrap!important;
}

.article-filter-row-v81{
  margin-bottom:12px!important;
}

.article-filter-row-v81 button.active{
  background:#17130f!important;
  border-color:#17130f!important;
  color:#fffaf2!important;
}

/* results */
.article-results-v81{
  width:min(100%,1180px)!important;
  max-width:1180px!important;
  margin:0 auto!important;
}

.article-results-head-v81{
  display:flex!important;
  justify-content:space-between!important;
  align-items:end!important;
  gap:20px!important;
  margin:0 0 22px!important;
}

.article-results-head-v81 h2{
  margin:8px 0 0!important;
  font-size:36px!important;
  line-height:1.2!important;
  letter-spacing:-.045em!important;
}

.article-results-head-v81 p:not(.eyebrow){
  margin:0!important;
  color:#7a6c60!important;
  font-size:13px!important;
}

.article-card-grid-v81{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:22px!important;
}

.article-card-v81{
  display:grid!important;
  grid-template-rows:240px minmax(0,1fr)!important;
  min-width:0!important;
  overflow:hidden!important;
  background:#fffdf9!important;
  border:1px solid #e2d2c4!important;
  color:#17130f!important;
  text-decoration:none!important;
  box-shadow:0 20px 50px rgba(64,42,24,.07)!important;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease!important;
}

.article-card-v81:hover{
  transform:translateY(-3px)!important;
  border-color:#c9af9c!important;
  box-shadow:0 28px 68px rgba(64,42,24,.12)!important;
}

.article-card-v81 img{
  display:block!important;
  width:100%!important;
  height:240px!important;
  object-fit:cover!important;
}

.article-card-v81 div{
  padding:24px 22px 26px!important;
}

.article-card-v81 p{
  margin:0 0 11px!important;
  color:#a66642!important;
  font-size:11px!important;
  line-height:1.2!important;
  letter-spacing:.17em!important;
}

.article-card-v81 h3{
  margin:0 0 12px!important;
  font-size:25px!important;
  line-height:1.25!important;
  letter-spacing:-.04em!important;
}

.article-card-v81 span{
  display:block!important;
  min-height:74px!important;
  margin:0 0 16px!important;
  color:#6f6257!important;
  font-size:14px!important;
  line-height:1.72!important;
}

.article-card-v81 small{
  color:#9a8a7c!important;
  font-size:12px!important;
  letter-spacing:.08em!important;
}

.article-empty-v81{
  margin:28px 0!important;
  padding:38px!important;
  text-align:center!important;
  background:#fffdf9!important;
  border:1px solid #dfcec0!important;
}

.article-empty-v81 p{
  margin:0 0 8px!important;
  font-size:20px!important;
}

.article-empty-v81 span{
  color:#6f6257!important;
  font-size:14px!important;
}

.article-load-v81{
  display:flex!important;
  justify-content:center!important;
  margin:34px 0 0!important;
}

.article-load-v81 button{
  appearance:none!important;
  min-height:50px!important;
  padding:0 30px!important;
  border:1px solid #17130f!important;
  border-radius:999px!important;
  background:#17130f!important;
  color:#fffaf2!important;
  cursor:pointer!important;
  font:inherit!important;
}

/* bottom links */
.article-next-actions-v81{
  width:min(100%,1180px)!important;
  max-width:1180px!important;
  margin:72px auto 0!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
}

.article-next-actions-v81 a{
  display:grid!important;
  gap:8px!important;
  padding:30px!important;
  background:#2b211b!important;
  color:#fffaf2!important;
  text-decoration:none!important;
  border:1px solid rgba(255,250,242,.12)!important;
}

.article-next-actions-v81 span{
  color:#e0b17a!important;
  font-size:12px!important;
  letter-spacing:.16em!important;
}

.article-next-actions-v81 strong{
  color:#fffaf2!important;
  font-size:24px!important;
  line-height:1.35!important;
}

.article-next-actions-v81 small{
  color:rgba(255,250,242,.72)!important;
  font-size:13px!important;
}

/* mobile */
@media(max-width:900px){
  .article-library-main-v81{
    padding:86px 18px 56px!important;
  }

  .article-library-hero-v81{
    display:block!important;
    margin-bottom:38px!important;
  }

  .article-library-title-v81{
    padding:18px 0 28px!important;
  }

  .article-library-title-v81 h1{
    font-size:48px!important;
    line-height:1.06!important;
  }

  .article-library-title-v81 p:not(.eyebrow){
    font-size:14px!important;
    line-height:1.8!important;
  }

  .article-latest-panel-v81{
    display:block!important;
  }

  .latest-main-v81 a{
    min-height:420px!important;
  }

  .latest-main-v81 h2{
    font-size:34px!important;
  }

  .latest-main-v81 a > div,
  .latest-side-v81 a > div{
    left:22px!important;
    right:22px!important;
    bottom:24px!important;
  }

  .latest-side-v81{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:12px!important;
    margin-top:12px!important;
  }

  .latest-side-v81 a{
    min-height:190px!important;
  }

  .latest-side-v81 strong{
    font-size:15px!important;
  }

  .entry-guide-head-v81{
    display:block!important;
  }

  .entry-guide-head-v81 h2{
    font-size:30px!important;
  }

  .entry-guide-grid-v81{
    display:flex!important;
    gap:12px!important;
    overflow-x:auto!important;
    padding:0 0 10px!important;
    -webkit-overflow-scrolling:touch!important;
  }

  .entry-guide-grid-v81 button{
    flex:0 0 250px!important;
    min-height:150px!important;
  }

  .article-search-v81{
    position:relative!important;
    top:auto!important;
    padding:18px!important;
    margin-bottom:28px!important;
  }

  .article-search-bar-v81{
    display:block!important;
  }

  .article-search-bar-v81 input{
    margin-bottom:12px!important;
  }

  .article-search-bar-v81 button{
    width:100%!important;
  }

  .article-filter-row-v81,
  .article-keyword-row-v81{
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    padding-bottom:4px!important;
    -webkit-overflow-scrolling:touch!important;
  }

  .article-filter-row-v81 button,
  .article-keyword-row-v81 button{
    flex:0 0 auto!important;
  }

  .article-results-head-v81{
    align-items:flex-start!important;
  }

  .article-results-head-v81 h2{
    font-size:30px!important;
  }

  .article-card-grid-v81{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }

  .article-card-v81{
    grid-template-rows:220px auto!important;
  }

  .article-card-v81 img{
    height:220px!important;
  }

  .article-card-v81 h3{
    font-size:26px!important;
  }

  .article-card-v81 span{
    min-height:0!important;
  }

  .article-next-actions-v81{
    grid-template-columns:1fr!important;
    margin-top:48px!important;
  }

  .article-next-actions-v81 strong{
    font-size:21px!important;
  }
}

@media(max-width:520px){
  .latest-side-v81{
    grid-template-columns:1fr!important;
  }

  .latest-side-v81 a{
    min-height:180px!important;
  }
}


/* =========================================================
   ROUND 82 : ranking carousel + soft blur transition
   記事一覧ページは触らない
   ========================================================= */

/* TOP内の商品画像カルーセル切り替え時に、ボワっとブラーで切り替える */
.gw80-gallery .gw80-slide{
  opacity:0!important;
  visibility:hidden!important;
  filter:blur(12px)!important;
  transform:scale(1.035)!important;
  transition:
    opacity .72s ease,
    filter .72s ease,
    transform .72s ease!important;
  will-change:opacity, filter, transform!important;
}

.gw80-gallery .gw80-slide.is-active{
  opacity:1!important;
  visibility:visible!important;
  filter:blur(0)!important;
  transform:scale(1)!important;
}

/* 人気ランキングの画像もgw80カルーセルで自動切り替え */
#ranking .ranking-image .gw80-gallery{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  overflow:hidden!important;
}

#ranking .ranking-image .gw80-stage{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
}

#ranking .ranking-image .gw80-slide{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
}

/* 商品カード上では矢印・ドットは非表示。自動切り替えだけ */
#ranking .ranking-image .gw80-arrow,
#ranking .ranking-image .gw80-dots,
#quickLayout .gw80-arrow,
#quickLayout .gw80-dots,
#giftweenPicksRow .gw80-arrow,
#giftweenPicksRow .gw80-dots,
#dailyTrack .gw80-arrow,
#dailyTrack .gw80-dots,
#productShowcase .gw80-arrow,
#productShowcase .gw80-dots,
#giftSearchGrid .gw80-arrow,
#giftSearchGrid .gw80-dots,
.calendar-gift-card .gw80-arrow,
.calendar-gift-card .gw80-dots{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* POPUP内だけは今まで通り左右ボタンとドットを表示 */
.modal.open .gw80-arrow{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
}

.modal.open .gw80-dots{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
}

@media(prefers-reduced-motion: reduce){
  .gw80-gallery .gw80-slide{
    transition:opacity .2s ease!important;
    filter:none!important;
    transform:none!important;
  }
  .gw80-gallery .gw80-slide.is-active{
    filter:none!important;
    transform:none!important;
  }
}


/* =========================================================
   ROUND 83 : TOP page gift cards auto carousel
   TOPヒーロー本体は触らない
   ========================================================= */

.gw83-top-card-gallery{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
}

#quickLayout .gift-image-single,
#productShowcase .gift-image-single,
.calendar-gift-card .gift-image-single,
#dailyTrack .gift-image-single,
#giftSearchGrid .gift-image-single{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
  background:#efe8df!important;
}

#quickLayout .gw83-top-card-gallery .gw80-arrow,
#quickLayout .gw83-top-card-gallery .gw80-dots,
#productShowcase .gw83-top-card-gallery .gw80-arrow,
#productShowcase .gw83-top-card-gallery .gw80-dots,
.calendar-gift-card .gw83-top-card-gallery .gw80-arrow,
.calendar-gift-card .gw83-top-card-gallery .gw80-dots,
#dailyTrack .gw83-top-card-gallery .gw80-arrow,
#dailyTrack .gw83-top-card-gallery .gw80-dots,
#giftSearchGrid .gw83-top-card-gallery .gw80-arrow,
#giftSearchGrid .gw83-top-card-gallery .gw80-dots{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

#quickLayout .gw83-top-card-gallery .gw80-slide,
#productShowcase .gw83-top-card-gallery .gw80-slide,
.calendar-gift-card .gw83-top-card-gallery .gw80-slide,
#dailyTrack .gw83-top-card-gallery .gw80-slide,
#giftSearchGrid .gw83-top-card-gallery .gw80-slide{
  transition:
    opacity .72s ease,
    filter .72s ease,
    transform .72s ease!important;
}


/* =========================================================
   ROUND 84 : Daily section auto switch restore
   記事一覧・TOPヒーローは触らない
   ========================================================= */
#dailyTrack{
  scroll-behavior:smooth!important;
}
#dailyTrack .daily-item{
  scroll-snap-align:start!important;
}
#dailyTrack .daily-item.is-current-daily{
  outline:0!important;
}
@media(max-width:900px){
  #dailyTrack{
    scroll-behavior:smooth!important;
  }
}


/* =========================================================
   ROUND 85 : Creator Picks carousel + daily blur switch
   記事一覧ページ / TOPヒーローは触らない
   ========================================================= */

/* Creator Picksのカード画像も2秒自動切り替え対象にする */
#giftweenPicksRow .giftween-pick-image{
  position:relative!important;
  overflow:hidden!important;
}

#giftweenPicksRow .giftween-pick-image .gw80-gallery,
#giftweenPicksRow .giftween-pick-image .gw85-creator-gallery{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  overflow:hidden!important;
  display:block!important;
}

#giftweenPicksRow .giftween-pick-image .gw80-stage,
#giftweenPicksRow .giftween-pick-image .gw80-slide{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
}

#giftweenPicksRow .giftween-pick-image .gw80-slide{
  object-fit:cover!important;
  object-position:center!important;
}

/* カード上では矢印・ドットを出さない */
#giftweenPicksRow .giftween-pick-image .gw80-arrow,
#giftweenPicksRow .giftween-pick-image .gw80-dots{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}

/* この日に贈るなら：カード移動時もボワっと切り替わる */
#dailyTrack .daily-item{
  transition:filter .62s ease, opacity .62s ease, transform .62s ease!important;
  will-change:filter, opacity, transform!important;
}

#dailyTrack.gw85-daily-blur .daily-item{
  filter:blur(10px)!important;
  opacity:.58!important;
  transform:scale(.985)!important;
}

#dailyTrack.gw85-daily-blur .daily-item.is-current-daily{
  filter:blur(0)!important;
  opacity:1!important;
  transform:scale(1)!important;
}

@media(prefers-reduced-motion: reduce){
  #dailyTrack .daily-item,
  #dailyTrack.gw85-daily-blur .daily-item,
  #dailyTrack.gw85-daily-blur .daily-item.is-current-daily{
    transition:none!important;
    filter:none!important;
    opacity:1!important;
    transform:none!important;
  }
}


/* =========================================================
   ROUND 86 : article archive UX cleanup + daily manual only
   ========================================================= */

/* この日に贈るなら：横自動スライドは停止。手動横スクロールのみ */
#dailyTrack{
  scroll-behavior:auto!important;
}

#dailyTrack.gw85-daily-blur,
#dailyTrack.gw85-daily-blur .daily-item{
  filter:none!important;
  opacity:1!important;
  transform:none!important;
}

/* 記事一覧：最新記事見出しを追加 */
.latest-block-title-v86{
  width:min(100%,1180px)!important;
  max-width:1180px!important;
  margin:0 auto 18px!important;
}

.latest-block-title-v86 h2{
  margin:8px 0 0!important;
  color:#17130f!important;
  font-size:34px!important;
  line-height:1.2!important;
  letter-spacing:-.045em!important;
}

/* 「今の迷いから探す」を削除した分の余白を整える */
.article-library-hero-v81{
  margin-bottom:42px!important;
}

.article-search-v81{
  margin-top:0!important;
}

/* 記事検索：カテゴリは横スクロール、グレーのスクロールバーは非表示 */
.article-filter-row-v81{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:10px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  max-width:100%!important;
  padding:0 0 2px!important;
  margin:0!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:none!important;
}

.article-filter-row-v81::-webkit-scrollbar{
  display:none!important;
  width:0!important;
  height:0!important;
}

.article-filter-row-v81 button{
  flex:0 0 auto!important;
}

/* テーマラベル列は完全に非表示 */
.article-keyword-row-v81,
#articleKeywordV81{
  display:none!important;
}

/* 検索ボックス周辺に出ていた余計なバー/線を抑制 */
.article-search-v81,
.article-search-v81 *{
  scrollbar-width:none!important;
}

.article-search-v81 *::-webkit-scrollbar{
  display:none!important;
  width:0!important;
  height:0!important;
}

.article-search-bar-v81{
  margin-bottom:18px!important;
}

.article-search-bar-v81 button{
  white-space:nowrap!important;
}

/* PCでもカテゴリが増えた時に横へ流れる */
@media(min-width:901px){
  .article-filter-row-v81{
    justify-content:flex-start!important;
  }

  .article-search-v81{
    overflow:hidden!important;
  }
}

/* SP：最新記事見出しとカテゴリ横スクロールの視認性 */
@media(max-width:900px){
  .latest-block-title-v86{
    margin:0 auto 14px!important;
  }

  .latest-block-title-v86 h2{
    font-size:30px!important;
  }

  .article-search-v81{
    overflow:hidden!important;
  }

  .article-filter-row-v81{
    width:100%!important;
    padding-bottom:0!important;
  }

  .article-filter-row-v81 button{
    min-height:44px!important;
    padding:0 22px!important;
  }
}


/* =========================================================
   ROUND 87 : daily image blur + article web repair
   ========================================================= */

/* この日に贈るなら：横自動スライドは無し。画像の自動切り替えだけボワっと見せる */
#dailyTrack .daily-item .gw80-gallery .gw80-slide{
  opacity:0!important;
  visibility:hidden!important;
  filter:blur(12px)!important;
  transform:scale(1.035)!important;
  transition:
    opacity .72s ease,
    filter .72s ease,
    transform .72s ease!important;
  will-change:opacity, filter, transform!important;
}

#dailyTrack .daily-item .gw80-gallery .gw80-slide.is-active{
  opacity:1!important;
  visibility:visible!important;
  filter:blur(0)!important;
  transform:scale(1)!important;
}

/* 記事一覧WEB版：上部レイアウト崩れ修正 */
.article-library-page-v81 .article-library-hero-v81{
  width:min(100%,1180px)!important;
  max-width:1180px!important;
  margin:0 auto 30px!important;
  display:block!important;
}

.article-library-page-v81 .article-library-title-v81{
  width:min(100%,1180px)!important;
  max-width:1180px!important;
  margin:0 auto 36px!important;
  padding:18px 0 0!important;
}

.article-library-page-v81 .article-library-title-v81 h1{
  max-width:760px!important;
}

.article-library-page-v81 .latest-block-title-v86{
  width:min(100%,1180px)!important;
  max-width:1180px!important;
  margin:0 auto 18px!important;
}

.article-library-page-v81 .article-latest-panel-v81{
  width:min(100%,1180px)!important;
  max-width:1180px!important;
  margin:0 auto!important;
  display:block!important;
}

.article-library-page-v81 .latest-main-v81{
  width:100%!important;
}

.article-library-page-v81 .latest-main-v81 a{
  width:100%!important;
  min-height:520px!important;
  display:block!important;
  overflow:hidden!important;
}

.article-library-page-v81 .latest-side-v81{
  display:none!important;
}

/* 記事一覧のINTERVIEW / SEASON / 通常記事としてのCREATOR PICKSは非表示 */
.article-card-v81.v87-hidden-archive{
  display:none!important;
}

/* 記事一覧の検索・カテゴリ絞り込みで非表示にしたカード（.article-card-v81 は display:grid!important のため、
   articles.js が付ける hidden 属性を実際に反映するにはこの打ち消しルールが必要） */
.article-card-v81[hidden]{
  display:none!important;
}

/* 検索カテゴリ：最新記事・Interviewは戻せるように残して非表示。SeasonはHTMLから削除済み */
.article-filter-row-v81 .v87-restore-hidden,
.article-filter-row-v81 button[hidden]{
  display:none!important;
}

/* 記事検索カテゴリは横スクロール、余計なグレーのバーなし */
.article-library-page-v81 .article-search-v81{
  position:relative!important;
  top:auto!important;
  z-index:auto!important;
  width:min(100%,1180px)!important;
  max-width:1180px!important;
  margin:0 auto 34px!important;
  overflow:hidden!important;
}

.article-library-page-v81 .article-filter-row-v81{
  display:flex!important;
  flex-wrap:nowrap!important;
  gap:10px!important;
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:0!important;
  margin:0!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:none!important;
}

.article-library-page-v81 .article-filter-row-v81::-webkit-scrollbar,
.article-library-page-v81 .article-search-v81::-webkit-scrollbar,
.article-library-page-v81 .article-search-v81 *::-webkit-scrollbar{
  display:none!important;
  width:0!important;
  height:0!important;
}

.article-library-page-v81 .article-filter-row-v81 button{
  flex:0 0 auto!important;
}

/* Creator Picksを選択した時は、記事カードではなくTOPのCreator Picks風カードで表示 */
.creator-picks-result-v87{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:22px!important;
  width:100%!important;
}

.creator-picks-result-v87[hidden]{
  display:none!important;
}

.creator-pick-card-v87{
  display:grid!important;
  grid-template-rows:360px auto!important;
  min-width:0!important;
  overflow:hidden!important;
  background:#fffdf9!important;
  border:1px solid #e2d2c4!important;
  box-shadow:0 22px 54px rgba(64,42,24,.08)!important;
  color:#17130f!important;
}

.creator-pick-photo-v87{
  position:relative!important;
  width:100%!important;
  height:360px!important;
  overflow:hidden!important;
  background:#efe8df!important;
}

.creator-pick-photo-v87 img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
}

.creator-pick-copy-v87{
  padding:24px 22px 26px!important;
}

.creator-pick-copy-v87 p{
  margin:0 0 11px!important;
  color:#a66642!important;
  font-size:11px!important;
  letter-spacing:.17em!important;
}

.creator-pick-copy-v87 h3{
  margin:0 0 12px!important;
  font-size:27px!important;
  line-height:1.22!important;
  letter-spacing:-.04em!important;
}

.creator-pick-copy-v87 span{
  display:block!important;
  color:#6f6257!important;
  font-size:14px!important;
  line-height:1.72!important;
}

/* 記事カードはWEBで安定して3カラム */
.article-library-page-v81 .article-card-grid-v81{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:22px!important;
  align-items:stretch!important;
}

.article-library-page-v81 .article-card-v81{
  min-width:0!important;
}

/* SP調整 */
@media(max-width:900px){
  .article-library-page-v81 .article-library-hero-v81{
    margin-bottom:26px!important;
  }

  .article-library-page-v81 .article-library-title-v81{
    margin-bottom:28px!important;
  }

  .article-library-page-v81 .latest-main-v81 a{
    min-height:420px!important;
  }

  .creator-picks-result-v87{
    grid-template-columns:1fr!important;
    gap:18px!important;
  }

  .creator-pick-card-v87{
    grid-template-rows:320px auto!important;
  }

  .creator-pick-photo-v87{
    height:320px!important;
  }

  .article-library-page-v81 .article-card-grid-v81{
    grid-template-columns:1fr!important;
  }
}


/* =========================================================
   ROUND 88 : mobile manual navigation for Quick Gifts / Creator Picks
   ========================================================= */

@media(max-width:900px){
  #quickLayout,
  #giftweenPicksRow{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    overflow:hidden!important;
    position:relative!important;
  }

  #quickLayout .quick-gift-card,
  #giftweenPicksRow .giftween-pick-card{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0 auto!important;
  }

  #quickLayout .quick-gift-card.is-hidden,
  #giftweenPicksRow .giftween-pick-card.is-hidden{
    display:none!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }

  #quickLayout .quick-gift-card.is-active,
  #giftweenPicksRow .giftween-pick-card.is-active{
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  .quick-record-controls,
  .creator-record-controls{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:14px!important;
    width:100%!important;
    margin:16px auto 0!important;
    padding:0 18px!important;
    position:relative!important;
    z-index:20!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }

  .quick-record-controls .record-card-arrow,
  .creator-record-controls .record-card-arrow{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
    border:1px solid rgba(43,33,27,.35)!important;
    border-radius:999px!important;
    background:#fffdf9!important;
    color:#2b211b!important;
    font-size:28px!important;
    line-height:1!important;
    padding:0!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  .quick-record-controls .record-card-dots,
  .creator-record-controls .record-card-dots{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    width:auto!important;
    min-width:0!important;
    visibility:visible!important;
    opacity:1!important;
  }

  .quick-record-controls .record-card-dots button,
  .creator-record-controls .record-card-dots button{
    display:block!important;
    width:7px!important;
    height:7px!important;
    padding:0!important;
    border:0!important;
    border-radius:999px!important;
    background:rgba(43,33,27,.28)!important;
  }

  .quick-record-controls .record-card-dots button.active,
  .creator-record-controls .record-card-dots button.active{
    width:22px!important;
    background:#2b211b!important;
  }
}


/* =========================================================
   ROUND 89 : mobile horizontal scroll for Quick Gifts / Creator Picks
   ========================================================= */

@media(max-width:900px){
  /* 1枚切り替えではなく、横スクロールで全カードを並べる */
  #quickLayout.gw89-mobile-horizontal-scroll,
  #giftweenPicksRow.gw89-mobile-horizontal-scroll,
  #quickLayout,
  #giftweenPicksRow{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    gap:16px!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    scroll-behavior:smooth!important;
    -webkit-overflow-scrolling:touch!important;
    padding:0 18px 14px!important;
    margin:0!important;
    scrollbar-width:none!important;
  }

  #quickLayout::-webkit-scrollbar,
  #giftweenPicksRow::-webkit-scrollbar{
    display:none!important;
    width:0!important;
    height:0!important;
  }

  #quickLayout .quick-gift-card,
  #quickLayout .quick-gift-card.is-hidden,
  #quickLayout .quick-gift-card.is-active,
  #quickLayout .gw89-scroll-card,
  #giftweenPicksRow .giftween-pick-card,
  #giftweenPicksRow .giftween-pick-card.is-hidden,
  #giftweenPicksRow .giftween-pick-card.is-active,
  #giftweenPicksRow .gw89-scroll-card{
    display:block!important;
    flex:0 0 78vw!important;
    width:78vw!important;
    min-width:78vw!important;
    max-width:78vw!important;
    height:auto!important;
    min-height:0!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
    scroll-snap-align:center!important;
    margin:0!important;
  }

  #quickLayout .quick-gift-card{
    aspect-ratio:3 / 4!important;
  }

  #giftweenPicksRow .giftween-pick-card{
    aspect-ratio:auto!important;
  }

  #quickLayout .quick-gift-card[aria-hidden="true"],
  #giftweenPicksRow .giftween-pick-card[aria-hidden="true"]{
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  .quick-record-controls,
  .creator-record-controls{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:14px!important;
    width:100%!important;
    margin:14px auto 0!important;
    padding:0 18px!important;
    position:relative!important;
    z-index:30!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }

  .quick-record-controls .record-card-arrow,
  .creator-record-controls .record-card-arrow{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
    border:1px solid rgba(43,33,27,.35)!important;
    border-radius:999px!important;
    background:#fffdf9!important;
    color:#2b211b!important;
    font-size:28px!important;
    line-height:1!important;
    padding:0!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  .quick-record-controls .record-card-dots,
  .creator-record-controls .record-card-dots{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    visibility:visible!important;
    opacity:1!important;
  }

  .quick-record-controls .record-card-dots button,
  .creator-record-controls .record-card-dots button{
    display:block!important;
    width:7px!important;
    height:7px!important;
    padding:0!important;
    border:0!important;
    border-radius:999px!important;
    background:rgba(43,33,27,.28)!important;
  }

  .quick-record-controls .record-card-dots button.active,
  .creator-record-controls .record-card-dots button.active{
    width:22px!important;
    background:#2b211b!important;
  }
}

/* PCは既存挙動を維持 */
@media(min-width:901px){
  #quickLayout.gw89-mobile-horizontal-scroll,
  #giftweenPicksRow.gw89-mobile-horizontal-scroll{
    overflow:visible!important;
  }
}


/* =========================================================
   ROUND 90 : Quick Gifts mobile horizontal scroll final
   ========================================================= */

@media(max-width:900px){
  /* 今だからこそ買えるギフト / Creator Picks を、この日に贈るなら同様の横スクロールに固定 */
  body #quickLayout.quick-layout.quick-card-grid,
  body #quickLayout.gw89-mobile-horizontal-scroll,
  body #quickLayout.gw90-horizontal-mobile,
  body #giftweenPicksRow.giftween-picks-row,
  body #giftweenPicksRow.gw89-mobile-horizontal-scroll,
  body #giftweenPicksRow.gw90-horizontal-mobile{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    gap:16px!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    scroll-behavior:smooth!important;
    -webkit-overflow-scrolling:touch!important;
    padding:0 18px 14px!important;
    margin:0!important;
    transform:none!important;
    scrollbar-width:none!important;
  }

  body #quickLayout::-webkit-scrollbar,
  body #giftweenPicksRow::-webkit-scrollbar{
    display:none!important;
    width:0!important;
    height:0!important;
  }

  body #quickLayout.quick-layout.quick-card-grid > .quick-gift-card,
  body #quickLayout.gw90-horizontal-mobile > .quick-gift-card,
  body #quickLayout > .quick-gift-card.is-hidden,
  body #quickLayout > .quick-gift-card.is-active,
  body #quickLayout > .quick-gift-card.gw90-scroll-card{
    display:block!important;
    flex:0 0 78vw!important;
    width:78vw!important;
    min-width:78vw!important;
    max-width:78vw!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:3 / 4!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
    position:relative!important;
    scroll-snap-align:center!important;
    margin:0!important;
  }

  body #giftweenPicksRow.giftween-picks-row > .giftween-pick-card,
  body #giftweenPicksRow.gw90-horizontal-mobile > .giftween-pick-card,
  body #giftweenPicksRow > .giftween-pick-card.is-hidden,
  body #giftweenPicksRow > .giftween-pick-card.is-active,
  body #giftweenPicksRow > .giftween-pick-card.gw90-scroll-card{
    display:block!important;
    flex:0 0 78vw!important;
    width:78vw!important;
    min-width:78vw!important;
    max-width:78vw!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
    transform:none!important;
    position:relative!important;
    scroll-snap-align:center!important;
    margin:0!important;
  }

  body #quickLayout > .quick-gift-card[aria-hidden="true"],
  body #giftweenPicksRow > .giftween-pick-card[aria-hidden="true"]{
    display:block!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  body .quick-record-controls,
  body .creator-record-controls{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:14px!important;
    width:100%!important;
    margin:14px auto 0!important;
    padding:0 18px!important;
    position:relative!important;
    z-index:30!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }

  body .quick-record-controls .record-card-arrow,
  body .creator-record-controls .record-card-arrow{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:44px!important;
    height:44px!important;
    min-width:44px!important;
    min-height:44px!important;
    border:1px solid rgba(43,33,27,.35)!important;
    border-radius:999px!important;
    background:#fffdf9!important;
    color:#2b211b!important;
    font-size:28px!important;
    line-height:1!important;
    padding:0!important;
    opacity:1!important;
    visibility:visible!important;
    pointer-events:auto!important;
  }

  body .quick-record-controls .record-card-dots,
  body .creator-record-controls .record-card-dots{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    visibility:visible!important;
    opacity:1!important;
  }

  body .quick-record-controls .record-card-dots button,
  body .creator-record-controls .record-card-dots button{
    display:block!important;
    width:7px!important;
    height:7px!important;
    padding:0!important;
    border:0!important;
    border-radius:999px!important;
    background:rgba(43,33,27,.28)!important;
  }

  body .quick-record-controls .record-card-dots button.active,
  body .creator-record-controls .record-card-dots button.active{
    width:22px!important;
    background:#2b211b!important;
  }
}


/* =========================================================
   ROUND 91 : restore image auto switching + blur on mobile horizontal cards
   ========================================================= */

/* Quick Gifts / Creator Picks のカード内画像だけ自動切り替え */
#quickLayout .gift-image-single,
#quickLayout .quick-gift-image,
#giftweenPicksRow .giftween-pick-image{
  position:relative!important;
  overflow:hidden!important;
  background:#efe8df!important;
}

#quickLayout .gift-image-single .gw91-gallery,
#quickLayout .quick-gift-image .gw91-gallery,
#giftweenPicksRow .giftween-pick-image .gw91-gallery{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  overflow:hidden!important;
  background:#efe8df!important;
  z-index:1!important;
}

.gw91-stage{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
}

.gw91-slide{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  opacity:0!important;
  visibility:hidden!important;
  filter:blur(14px)!important;
  transform:scale(1.045)!important;
  transition:
    opacity .72s ease,
    filter .72s ease,
    transform .72s ease!important;
  will-change:opacity, filter, transform!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  z-index:1!important;
}

.gw91-slide.is-active{
  opacity:1!important;
  visibility:visible!important;
  filter:blur(0)!important;
  transform:scale(1)!important;
  z-index:2!important;
}

.gw91-slide[src*="letter.jpg"]{
  object-position:center 74%!important;
}

/* 横スクロール自体は維持 */
@media(max-width:900px){
  #quickLayout .gift-image-single,
  #giftweenPicksRow .giftween-pick-image{
    width:100%!important;
    height:auto!important;
    aspect-ratio:3 / 4!important;
  }

  #quickLayout .quick-gift-card,
  #giftweenPicksRow .giftween-pick-card{
    overflow:hidden!important;
  }
}

@media(prefers-reduced-motion: reduce){
  .gw91-slide{
    transition:opacity .2s ease!important;
    filter:none!important;
    transform:none!important;
  }
}


/* =========================================================
   ROUND 92 : about title size + editorial article content
   ========================================================= */

/* 私たちについて：タイトルが大きすぎないように調整 */
.about-page-v92 .sub-hero h1{
  font-size:clamp(30px,3.8vw,48px)!important;
  line-height:1.18!important;
  letter-spacing:-.025em!important;
  max-width:720px!important;
}

/* 編集部記事：本文内の画像位置を残す */
.article-editorial-v92 .article-hero-copy h1{
  font-size:clamp(32px,4.1vw,56px)!important;
  line-height:1.25!important;
  letter-spacing:-.035em!important;
  max-width:11.5em!important;
}

.article-editorial-v92 .article-lead{
  font-size:16px!important;
  line-height:1.95!important;
}

.article-editorial-v92 .article-description-copy p{
  font-size:16px!important;
  line-height:2.05!important;
  margin:0 0 18px!important;
}

.article-image-placeholder-v92{
  width:100%!important;
  min-height:280px!important;
  margin:34px 0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px dashed rgba(43,33,27,.32)!important;
  border-radius:22px!important;
  background:
    linear-gradient(135deg,rgba(255,255,255,.64),rgba(244,235,224,.78)),
    #f5eee6!important;
  color:#8b5e3c!important;
  font-size:18px!important;
  letter-spacing:.18em!important;
}

/* 本文中の画像は article-image-placeholder-v92 と同じ枠（高さ・角丸・余白）で実際の写真を表示する */
img.article-image-placeholder-v92{
  height:280px!important;
  object-fit:cover!important;
  display:block!important;
}

.article-official-link-v92{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:max-content!important;
  max-width:100%!important;
  margin-top:18px!important;
  padding:13px 22px!important;
  border-radius:999px!important;
  background:#2b211b!important;
  color:#fffdf8!important;
  font-size:13px!important;
  letter-spacing:.08em!important;
}

.article-product-feature-v92 .article-product-copy{
  justify-content:center!important;
}

.article-product-feature-v92 .article-product-intro{
  margin-bottom:0!important;
}

@media(max-width:900px){
  .about-page-v92 .sub-hero h1{
    font-size:30px!important;
    line-height:1.22!important;
  }

  .article-editorial-v92 .article-hero-copy h1{
    font-size:31px!important;
    line-height:1.28!important;
    max-width:none!important;
  }

  .article-image-placeholder-v92{
    min-height:220px!important;
    margin:28px 0!important;
  }

  img.article-image-placeholder-v92{
    height:220px!important;
  }

  .article-official-link-v92{
    width:100%!important;
  }
}


/* =========================================================
   ROUND 93 : latest articles horizontal scroll
   ========================================================= */

/* 記事一覧上部：最新記事を最大5件の横スクロール表示に変更 */
.article-library-page-v81 .latest-scroll-v93{
  width:min(100%,1180px)!important;
  max-width:1180px!important;
  margin:0 auto!important;
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  gap:18px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:0 0 18px!important;
  scroll-snap-type:x mandatory!important;
  scroll-behavior:smooth!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-width:none!important;
}

.article-library-page-v81 .latest-scroll-v93::-webkit-scrollbar{
  display:none!important;
  width:0!important;
  height:0!important;
}

.article-library-page-v81 .latest-card-v93{
  flex:0 0 360px!important;
  width:360px!important;
  min-width:360px!important;
  display:grid!important;
  grid-template-rows:240px auto!important;
  overflow:hidden!important;
  border:1px solid rgba(205,190,174,.86)!important;
  border-radius:28px!important;
  background:#fffdf8!important;
  color:#17130f!important;
  box-shadow:0 18px 46px rgba(48,35,23,.07)!important;
  scroll-snap-align:start!important;
}

.article-library-page-v81 .latest-card-v93 img{
  width:100%!important;
  height:240px!important;
  object-fit:cover!important;
  object-position:center!important;
  display:block!important;
  filter:saturate(.9) contrast(.96)!important;
}

.article-library-page-v81 .latest-card-v93 div{
  padding:22px 22px 24px!important;
}

.article-library-page-v81 .latest-card-v93 span{
  display:block!important;
  margin:0 0 10px!important;
  color:#a66642!important;
  font-size:11px!important;
  letter-spacing:.16em!important;
  line-height:1.4!important;
}

.article-library-page-v81 .latest-card-v93 h3{
  margin:0 0 12px!important;
  font-size:24px!important;
  line-height:1.32!important;
  letter-spacing:-.04em!important;
  font-weight:400!important;
  word-break:keep-all!important;
  overflow-wrap:anywhere!important;
}

.article-library-page-v81 .latest-card-v93 p{
  margin:0 0 16px!important;
  color:#665f58!important;
  font-size:14px!important;
  line-height:1.75!important;
}

.article-library-page-v81 .latest-card-v93 small{
  display:block!important;
  color:#8b8178!important;
  font-size:12px!important;
  letter-spacing:.08em!important;
}

@media(max-width:900px){
  .article-library-page-v81 .latest-scroll-v93{
    width:100%!important;
    max-width:100%!important;
    padding:0 18px 16px!important;
    gap:16px!important;
  }

  .article-library-page-v81 .latest-card-v93{
    flex:0 0 78vw!important;
    width:78vw!important;
    min-width:78vw!important;
    grid-template-rows:220px auto!important;
    border-radius:24px!important;
  }

  .article-library-page-v81 .latest-card-v93 img{
    height:220px!important;
  }

  .article-library-page-v81 .latest-card-v93 h3{
    font-size:22px!important;
  }
}


/* =========================================================
   ROUND 94 : interview coming soon / article search / visual tuning
   ========================================================= */

/* インタビュー見出し：03を削除済み。余白だけ調整 */
.interview-issue-head .eyebrow{
  letter-spacing:.16em!important;
}

/* インタビュー動画：リリースまではComing Soon表示 */
.interview-coming-soon-media{
  position:relative!important;
}

.interview-coming-soon-media::after{
  content:''!important;
  position:absolute!important;
  inset:0!important;
  background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.55))!important;
  pointer-events:none!important;
}

.interview-coming-soon-card{
  position:absolute!important;
  z-index:3!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  width:min(78%,420px)!important;
  min-height:170px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  border:1px solid rgba(255,255,255,.62)!important;
  background:rgba(20,16,12,.42)!important;
  color:#fffdf8!important;
  backdrop-filter:blur(18px)!important;
  text-align:center!important;
}

.interview-coming-soon-card span{
  font-size:11px!important;
  letter-spacing:.24em!important;
  color:rgba(255,255,255,.74)!important;
}

.interview-coming-soon-card strong{
  font-family:'Playfair Display','Georgia',serif!important;
  font-size:clamp(32px,4vw,54px)!important;
  line-height:1!important;
  font-weight:400!important;
  letter-spacing:-.045em!important;
}

.interview-coming-soon-card small{
  font-size:12px!important;
  line-height:1.7!important;
  color:rgba(255,255,255,.78)!important;
}

.series-cta-coming-soon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:max-content!important;
  padding:12px 20px!important;
  border:1px solid rgba(23,19,15,.24)!important;
  background:transparent!important;
  color:#17130f!important;
  font-size:11px!important;
  letter-spacing:.22em!important;
  pointer-events:none!important;
}

.video-modal-eyebrow-hidden{
  display:none!important;
}

.interview-video-coming-soon{
  min-height:300px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:
    radial-gradient(circle at 50% 35%,rgba(255,255,255,.14),transparent 42%),
    linear-gradient(135deg,#2b211b,#8f5a43)!important;
}

/* WHO'S NEXT：角丸ではなく四角 */
.interview-next-card,
.interview-next-card img,
.next-card-top,
.next-card-body{
  border-radius:0!important;
}

/* 今日は何の日：レンガっぽい色味へ */
.today-card{
  background:
    linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.03)),
    #9e5f4f!important;
  color:#fffaf4!important;
  border-color:rgba(255,255,255,.22)!important;
}

.today-card .eyebrow,
.today-card p,
.today-card small,
.today-card h2,
.today-card h3,
.today-card .date-block strong{
  color:#fffaf4!important;
}

.today-card .thin-line{
  background:rgba(255,255,255,.34)!important;
}

.today-card .date-block{
  border-color:rgba(255,255,255,.32)!important;
}

/* TOP記事部分：FEATURED STORY下の文字を2行で自然に */
#articleReaderText{
  max-width:30em!important;
  line-height:1.75!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
}

#articleReaderTitle{
  word-break:keep-all!important;
  overflow-wrap:normal!important;
}

/* 人気ランキング：画像部分のスワイプ反応を強める */
.ranking-image,
.ranking-image .gw80-gallery,
.ranking-image .gw80-stage{
  touch-action:pan-y!important;
  pointer-events:auto!important;
}

.ranking-image .gw80-slide{
  pointer-events:auto!important;
}

/* 私たちについて：ABOUT GIFTWEENを主タイトル化、私たちについてをサブタイトルに */
.about-page-v92 .sub-hero .about-main-title-v94{
  display:block!important;
  margin:0 0 14px!important;
  color:#17130f!important;
  font-family:'Playfair Display','Georgia',serif!important;
  font-size:clamp(52px,8vw,112px)!important;
  line-height:.92!important;
  letter-spacing:-.065em!important;
}

.about-page-v92 .sub-hero .about-subtitle-v94{
  margin:0!important;
  color:#8b5e3c!important;
  font-size:clamp(22px,2.7vw,34px)!important;
  line-height:1.25!important;
  letter-spacing:.08em!important;
  font-weight:400!important;
}

/* 記事一覧：検索ボタン追加 */
.article-search-bar-v81{
  grid-template-columns:minmax(0,1fr) auto auto!important;
  align-items:end!important;
}

.article-search-submit-v94{
  height:46px!important;
  padding:0 22px!important;
  border:0!important;
  border-radius:999px!important;
  background:#2b211b!important;
  color:#fffdf8!important;
  font-size:13px!important;
  letter-spacing:.08em!important;
  white-space:nowrap!important;
}

@media(max-width:900px){
  .interview-coming-soon-card{
    width:82%!important;
    min-height:146px!important;
  }

  .interview-coming-soon-card strong{
    font-size:34px!important;
  }

  .about-page-v92 .sub-hero .about-main-title-v94{
    font-size:48px!important;
    line-height:.96!important;
  }

  .about-page-v92 .sub-hero .about-subtitle-v94{
    font-size:22px!important;
  }

  .article-search-bar-v81{
    grid-template-columns:1fr!important;
  }

  .article-search-submit-v94,
  #articleResetV81{
    width:100%!important;
  }

  #articleReaderText{
    max-width:100%!important;
    overflow-wrap:anywhere!important;
  }
}


/* =========================================================
   ROUND 95 : interview waiting state + article search polish
   ========================================================= */

/* インタビュー：動画公開前は“お待ちください”表示に寄せる */
#interview .interview-feature-copy,
#interview .guest-name,
#interview .feature-detail,
#interview .episode-tag{
  display:none!important;
}

/* 過去のインタビュー：WEB/SPともに非表示 */
#interview .interview-archive,
#interviewArchive{
  display:none!important;
}

/* インタビューの人情報が出る次回カードも一旦非表示 */
#interview .interview-next-card{
  display:none!important;
}

/* グレーブラーっぽい画像表現 */
#interview .interview-feature-layout{
  display:block!important;
}

#interview .interview-feature-card{
  display:block!important;
  max-width:980px!important;
  margin:0 auto!important;
  border-radius:0!important;
  overflow:hidden!important;
  background:#d9d6d1!important;
}

#interview .interview-feature-media{
  min-height:520px!important;
  position:relative!important;
  overflow:hidden!important;
  background:
    radial-gradient(circle at 28% 22%, rgba(255,255,255,.44), transparent 32%),
    radial-gradient(circle at 68% 44%, rgba(70,70,70,.22), transparent 36%),
    linear-gradient(135deg,#d8d5cf,#918f8c 52%,#d7d1c9)!important;
}

#interview .interview-feature-media img{
  width:100%!important;
  height:100%!important;
  min-height:520px!important;
  object-fit:cover!important;
  filter:grayscale(1) blur(16px) brightness(.82) contrast(.82)!important;
  transform:scale(1.08)!important;
  opacity:.48!important;
}

#interview .interview-coming-soon-media::after{
  background:
    linear-gradient(180deg,rgba(80,80,80,.18),rgba(22,22,22,.58)),
    repeating-linear-gradient(90deg,rgba(255,255,255,.04) 0 1px,transparent 1px 12px)!important;
}

#interview .interview-coming-soon-card{
  background:rgba(245,242,236,.62)!important;
  color:#2b211b!important;
  border:1px solid rgba(43,33,27,.22)!important;
  box-shadow:0 24px 80px rgba(0,0,0,.16)!important;
}

#interview .interview-coming-soon-card span,
#interview .interview-coming-soon-card small{
  color:rgba(43,33,27,.68)!important;
}

#interview .interview-coming-soon-card strong{
  color:#2b211b!important;
}

/* 動画モーダルも“お待ちください”の見え方に */
.video-modal .video-box h2{
  letter-spacing:-.04em!important;
}

.interview-video-coming-soon .youtube-empty{
  color:#fffdf8!important;
  text-align:center!important;
}

.interview-video-coming-soon .youtube-empty strong{
  display:block!important;
  margin-bottom:10px!important;
  font-size:22px!important;
  letter-spacing:.02em!important;
}

.interview-video-coming-soon .youtube-empty span{
  color:rgba(255,255,255,.78)!important;
}

/* 記事検索ボタン：黒ベタをやめて、紙面に馴染む細枠ボタンへ */
.article-search-submit-v94{
  height:48px!important;
  padding:0 24px!important;
  border:1px solid rgba(43,33,27,.34)!important;
  border-radius:0!important;
  background:#fffdf8!important;
  color:#2b211b!important;
  font-size:12px!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
  box-shadow:none!important;
  transition:background .2s ease,color .2s ease,border-color .2s ease!important;
}

.article-search-submit-v94:hover{
  background:#2b211b!important;
  color:#fffdf8!important;
  border-color:#2b211b!important;
}

.article-search-bar-v81{
  grid-template-columns:minmax(0,1fr) 118px auto!important;
  gap:10px!important;
}

#articleResetV81{
  height:48px!important;
  border-radius:0!important;
}

@media(max-width:900px){
  #interview .interview-feature-media{
    min-height:360px!important;
  }

  #interview .interview-feature-media img{
    min-height:360px!important;
  }

  #interview .interview-coming-soon-card{
    width:84%!important;
  }

  .article-search-bar-v81{
    grid-template-columns:1fr!important;
  }

  .article-search-submit-v94{
    width:100%!important;
  }
}


/* =========================================================
   ROUND 96 : mobile today brick color force
   ========================================================= */

/* スマホ側の「今日は何の日？」にもレンガ系カラーを強制反映 */
@media(max-width:900px){
  body #today .today-card,
  body #today .today-card.glass-card,
  body .today-row #todayCard,
  body .today-row .today-card{
    background:
      linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.03)),
      #9e5f4f!important;
    background-color:#9e5f4f!important;
    color:#fffaf4!important;
    border-color:rgba(255,255,255,.24)!important;
    box-shadow:0 18px 52px rgba(88,45,34,.22)!important;
  }

  body #today .today-card *,
  body .today-row .today-card *{
    color:#fffaf4!important;
  }

  body #today .today-card .thin-line,
  body .today-row .today-card .thin-line{
    background:rgba(255,255,255,.36)!important;
  }

  body #today .today-card .date-block,
  body .today-row .today-card .date-block{
    border-color:rgba(255,255,255,.34)!important;
  }

  body #today .today-card::before,
  body #today .today-card::after,
  body .today-row .today-card::before,
  body .today-row .today-card::after{
    opacity:.18!important;
    background:rgba(255,255,255,.18)!important;
  }
}


/* =========================================================
   ROUND 97 : article search button matches load more
   ========================================================= */

/* 記事検索の検索ボタンを「もっと見る」と同じ形に統一 */
.article-search-submit-v94{
  appearance:none!important;
  min-height:50px!important;
  height:50px!important;
  padding:0 30px!important;
  border:1px solid #17130f!important;
  border-radius:999px!important;
  background:#17130f!important;
  color:#fffaf2!important;
  cursor:pointer!important;
  font:inherit!important;
  font-size:14px!important;
  line-height:1!important;
  letter-spacing:.02em!important;
  text-transform:none!important;
  box-shadow:none!important;
  white-space:nowrap!important;
}

.article-search-submit-v94:hover{
  background:#17130f!important;
  color:#fffaf2!important;
  border-color:#17130f!important;
  opacity:.88!important;
}

.article-search-bar-v81{
  grid-template-columns:minmax(0,1fr) auto auto!important;
  align-items:end!important;
  gap:12px!important;
}

@media(max-width:900px){
  .article-search-submit-v94{
    width:100%!important;
    min-height:50px!important;
    height:50px!important;
  }
}


/* =========================================================
   ROUND 98 : mobile coming soon / article search button / journal title
   ========================================================= */

/* 記事一覧のメインコピー：スマホでも「読む場所。」まで自然に2行 */
.article-library-title-v81 h1.article-hero-title-v98{
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  line-height:1.08!important;
}

@media(max-width:900px){
  .article-library-title-v81 h1.article-hero-title-v98{
    font-size:clamp(34px,9.2vw,46px)!important;
    line-height:1.18!important;
    letter-spacing:-.055em!important;
  }

  .article-library-title-v81 h1.article-hero-title-v98 br{
    display:block!important;
  }
}

/* スマホのCOMING SOON崩れ修正 */
@media(max-width:900px){
  body #interview .interview-feature-layout{
    display:block!important;
    width:100%!important;
    margin:0!important;
  }

  body #interview .interview-feature-card{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    overflow:hidden!important;
  }

  body #interview .interview-feature-media{
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    aspect-ratio:4 / 5!important;
    display:block!important;
    position:relative!important;
    overflow:hidden!important;
  }

  body #interview .interview-feature-media img{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    object-fit:cover!important;
    filter:grayscale(1) blur(14px) brightness(.82) contrast(.82)!important;
    transform:scale(1.08)!important;
  }

  body #interview .interview-coming-soon-card{
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    right:auto!important;
    bottom:auto!important;
    transform:translate(-50%,-50%)!important;
    width:calc(100% - 48px)!important;
    max-width:320px!important;
    min-height:0!important;
    height:auto!important;
    padding:28px 18px!important;
    box-sizing:border-box!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    gap:8px!important;
    text-align:center!important;
    overflow:hidden!important;
  }

  body #interview .interview-coming-soon-card span{
    display:block!important;
    width:100%!important;
    font-size:10px!important;
    line-height:1.2!important;
    letter-spacing:.22em!important;
    white-space:nowrap!important;
  }

  body #interview .interview-coming-soon-card strong{
    display:block!important;
    width:100%!important;
    font-size:30px!important;
    line-height:1.04!important;
    letter-spacing:-.04em!important;
    white-space:normal!important;
    word-break:keep-all!important;
    overflow-wrap:normal!important;
  }

  body #interview .interview-coming-soon-card small{
    display:block!important;
    width:100%!important;
    max-width:240px!important;
    margin:0 auto!important;
    font-size:11px!important;
    line-height:1.65!important;
    letter-spacing:.02em!important;
    white-space:normal!important;
    word-break:keep-all!important;
    overflow-wrap:anywhere!important;
  }
}

/* スマホ記事検索ボタン：角丸のボタンとして強制 */
@media(max-width:900px){
  body.article-library-page-v81 .article-search-bar-v81,
  body .article-library-page-v81 .article-search-bar-v81,
  body .article-search-bar-v81{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    align-items:stretch!important;
  }

  body.article-library-page-v81 .article-search-submit-v94,
  body .article-library-page-v81 .article-search-submit-v94,
  body .article-search-submit-v94{
    appearance:none!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:50px!important;
    height:50px!important;
    padding:0 28px!important;
    border:1px solid #17130f!important;
    border-radius:999px!important;
    background:#17130f!important;
    color:#fffaf2!important;
    font-size:14px!important;
    line-height:1!important;
    letter-spacing:.02em!important;
    text-transform:none!important;
    box-shadow:none!important;
  }
}

/*
  期間イベント（calendar_events.end_date）のカレンダー帯表示。
  .day-cell は日ごとに分かれた別要素のため（provided/ の資材構造を維持）、
  帯は .calendar-grid の追加の子要素として position:absolute で重ねる。
  CSSグリッドに grid-row / grid-column を明示指定すると、その分がグリッドの
  自動配置（auto-placement）から除外され、in-flow の day-cell 側の配置が
  ずれて末尾に余分な行が生まれてしまう（絶対配置ならグリッドの自動配置に
  一切関与しない）ため、位置は JS 側で対象セルの実測位置から計算する。
  週をまたぐ期間は週（行）ごとに別セグメントとして生成されるため、行の端でそれぞれ角丸がつく。
*/
.day-cell.has-range .day-num{
  color:#8f583a;
}
.calendar-band{
  position:absolute;
  height:34px;
  margin:0 0 13px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#a66642;
  pointer-events:none;
  z-index:3;
}
.calendar-band-label{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  padding:0 10px;
  font-size:15px;
  letter-spacing:.03em;
  color:#fff8ef;
}
.calendar-band.range-start{
  border-top-left-radius:17px;
  border-bottom-left-radius:17px;
  margin-left:5px;
}
.calendar-band.range-end{
  border-top-right-radius:17px;
  border-bottom-right-radius:17px;
  margin-right:5px;
}
@media(max-width:900px){
  .calendar-band{
    height:24px;
    margin-bottom:9px;
  }
  .calendar-band-label{
    font-size:13px;
    padding:0 6px;
  }
  .calendar-band.range-start{
    border-top-left-radius:12px;
    border-bottom-left-radius:12px;
    margin-left:3px;
  }
  .calendar-band.range-end{
    border-top-right-radius:12px;
    border-bottom-right-radius:12px;
    margin-right:3px;
  }
}

/* =========================================================
   ROUND 99 : calendar modal multi-gift switch
   カレンダーモーダルで、1日に複数ギフトが紐づく場合の
   「‹ 1/2 ›」切り替えUI。画像パネル側の既存カルーセル
   （.gw80-arrow / .gw80-dots）とは位置が離れており競合しない。
   ギフトが1件のみの日はJS側でこの要素自体を出力しない。
   ========================================================= */
.calendar-gift-switch{
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
  margin:10px 0 18px!important;
}

.calendar-gift-switch-arrow{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:26px!important;
  height:26px!important;
  padding:0!important;
  border:1px solid currentColor!important;
  border-radius:50%!important;
  background:none!important;
  color:inherit!important;
  opacity:.72!important;
  font-size:15px!important;
  line-height:1!important;
  cursor:pointer!important;
}

.calendar-gift-switch-arrow:hover{
  opacity:1!important;
}

.calendar-gift-switch-pos{
  font-size:12px!important;
  letter-spacing:.06em!important;
  opacity:.65!important;
}

@media(min-width:901px){
  /* デスクトップ：.calendar-pop-copy は overflow-y:auto の固定高（ROUND 78）なので、
     通常のフローに追加しても内部スクロールに収まり、他要素の位置は崩れない */
  .calendar-pop-copy .calendar-gift-switch{
    margin:10px 0 20px!important;
  }
}

@media(max-width:900px){
  /* モバイル：.calendar-pop-copy は height:auto（ROUND 79）のため、通常のフローで問題ない */
  .calendar-gift-switch{
    margin:8px 0 14px!important;
  }
}

/* =========================================================
   ROUND 100 : gift modal purchase-place collapse (共通)
   購入場所（店舗名）が2件以上のとき、1件目だけ表示し残りを
   開閉できるようにする。public-site.js の buildPlaceRow /
   bindPlaceToggle が出力するクラスで、カレンダー・この日に贈るなら・
   今だからこそ・編集部ピック・Creator Picks・検索結果の
   各モーダルで共通して使う（元は .calendar-place-* という
   カレンダー専用の名前だったが、案A実装時にこの ROUND 100 として
   追加した分のため、他モーダルへ展開するタイミングで汎用名に変更した）。
   .calendar-pop-copy / .quick-gift-detail-copy / .giftween-pick-detail-copy
   はいずれもデスクトップで overflow-y:auto の固定高（ROUND 78）、
   モバイルで height:auto（ROUND 79）という同じ扱いのため、
   展開時の高さ増加はどのモーダルでも既存の挙動内（内部スクロール／
   自然に伸びる）に収まり、モーダル自体のCSSを変える必要はない。
   ========================================================= */
.place-list{
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}

.place-item + .place-item{
  margin-top:6px!important;
}

.place-toggle{
  display:inline-block!important;
  margin-top:8px!important;
  padding:0!important;
  border:none!important;
  background:none!important;
  color:#a66642!important;
  font-size:13px!important;
  letter-spacing:.04em!important;
  cursor:pointer!important;
}

.place-toggle:hover{
  text-decoration:underline!important;
}

/* =========================================================
   ROUND 101 : modal-box mobile horizontal overflow fix
   .modal-box のベース定義（375行、ROUND以前の元CSS）に
   min-width:420px があり、モバイル用の最終ルール（ROUND79、
   24770-24787行）は width:100%!important を設定しているだけで
   min-width には触れていないため、375行の min-width:420px が
   モバイル幅でもそのまま有効になっていた。
   min-width は width より優先されるため、画面幅375〜390pxの
   iPhone等では .modal-box が420px幅で描画され、右側が画面外に
   はみ出してテキスト・ボタンが見えなくなる（6モーダル共通、
   .modal-box は全モーダルで共有されているクラスのため）。
   ここではモバイル幅でのみ min-width を解除する。
   デスクトップ（min-width:420px）は @media の外なので変更されない。
   ========================================================= */
@media(max-width:900px){
  .modal-box{
    min-width:0!important;
  }
}

/* =========================================================
   ROUND 102 : modal h2 mobile word-wrap fix
   18948-18960行（@media(max-width:900px)）の
   .quick-gift-detail-copy h2 / .giftween-pick-detail-copy h2 /
   .calendar-pop-copy h2 に対する word-break:keep-all!important /
   overflow-wrap:normal!important が、上流の基礎ルール（3420-3428行,
   13105行）の overflow-wrap:anywhere をモバイル幅でのみ normal に
   後退させていた。overflow-wrap:normal は単語境界でしか折り返さない
   ため、空白のない長いカタカナ語（商品名など）が折り返せず右に
   はみ出す。人気ランキング（.ranking-modal-clean-copy h2）は
   このセレクタに含まれておらず、13373-13378行の
   :is(h1,h2,h3,h4,...)（word-break:normal!important;
   overflow-wrap:anywhere!important;）がそのまま効くため正常だった。
   ここでは対象5モーダルの h2 を、人気ランキングと同じ組み合わせ
   （word-break:normal / overflow-wrap:anywhere）に揃える。
   ========================================================= */
@media(max-width:900px){
  .quick-gift-detail-copy h2,
  .giftween-pick-detail-copy h2,
  .calendar-pop-copy h2{
    word-break:normal!important;
    overflow-wrap:anywhere!important;
  }
}

/* =========================================================
   ROUND 103 : フッターのモバイル余白・文字サイズを圧縮
   .footer-brand h2（374行）・.footer-cols h3（374行）が
   モバイル専用の縮小指定を持たず52px/16pxのままだったため、
   縦の長さ（約645px）に直結していた。ここで文字サイズと
   余白のみを詰める。列数・並び順（1列縦積み）は変更しない。
   ========================================================= */
@media(max-width:900px){
  .footer-brand h2{
    font-size:32px!important;
  }
  .footer-cols h3{
    font-size:14px!important;
    margin-bottom:8px!important;
  }
  .footer-cols a{
    line-height:1.7!important;
  }
  .footer{
    padding-top:28px!important;
  }
  .footer-cols{
    gap:16px!important;
  }
  .footer-bottom{
    margin-top:20px!important;
  }
}

/* =========================================================
   ROUND 104 : フッターのモバイルを2列レイアウトに変更、文字サイズをさらに圧縮
   .footer-site-map（9567行）で1列縦積みになっていたのを、モバイル幅のみ
   2列化する。左列＝サイトマップ、右列＝会社情報・サポートを縦に並べる。
   全リンクの文言を比較すると、右列内の「プライバシーポリシー」
   （10文字・約120px）がもっとも長く、左列の最長「ギフトカレンダー」
   （8文字・約96px）より長いため、左右均等ではなく右列をやや広めにする
   （幅の狭い端末で右列だけが折り返すのを避けるため）。
   ========================================================= */
@media(max-width:900px){
  .footer-site-map{
    grid-template-columns:1fr 1.15fr!important;
    grid-template-areas:
      "sitemap company"
      "sitemap support" !important;
  }
  .footer-site-map > div:nth-child(1){
    grid-area:sitemap!important;
  }
  .footer-site-map > div:nth-child(2){
    grid-area:company!important;
  }
  .footer-site-map > div:nth-child(3){
    grid-area:support!important;
  }
  .footer-brand h2{
    font-size:28px!important;
  }
  .footer-cols h3{
    font-size:13px!important;
  }
  .footer-cols a{
    font-size:12px!important;
  }
}

/* =========================================================
   ROUND 105 : About セクションのモバイル幅対応
   .about-copy（374行、@media無し）が width:520px / padding-left:78px という
   PC向け「テキスト左・写真右」レイアウト用の固定値のまま、モバイル専用の
   上書きを持っていなかった。375px幅の端末では本文・ボタンが画面幅を大きく
   超える位置に配置され、(1) オーバーレイがほぼ透明な右側領域に本文がかかり
   読めない (2) 「もっと詳しく見る」ボタンが右にはみ出す、の両方の原因になっていた。
   ここで width を可変にし、左paddingを他セクション同様の余白に揃える。
   あわせて、モバイルでは本文が横幅いっぱいに近い位置まで回り込むため、
   PC向けの左右グラデーション（右側がほぼ透明）のままだと本文の右寄り部分の
   可読性が残る懸念があり、縦方向の高不透明グラデーションに切り替える。
   ========================================================= */
@media(max-width:900px){
  .about-copy{
    width:auto!important;
    padding-left:0!important;
  }
  .about-section:after{
    background:linear-gradient(180deg,rgba(248,244,238,.75) 0%,rgba(248,244,238,.95) 40%,rgba(248,244,238,.97) 100%)!important;
  }
}

/* =========================================================
   ROUND 106 : 見出し・カード見出しの日本語折り返し一括修正
   word-break:keep-all + overflow-wrap:normal の組み合わせにより、
   単語境界を持たない日本語のカタカナ連続などが折り返せず右にはみ出す
   不具合が、ROUND 102 で対応した5モーダルのh2以外にも多数残っていることが
   調査で判明した。ROUND 102 と同じ word-break:normal + overflow-wrap:anywhere
   に統一する。overflow-wrap:anywhere は他に折り返せる箇所が無い場合のみ
   効く最終手段のため、PC幅で十分な余白がある場合の見た目には影響しない。
   元のルールが @media 無し（PC・モバイル共通）だったセレクタは同様に
   @media 無しで、@media(max-width:900px) 内だったセレクタは同じ範囲で
   上書きする。
   調査時点でHTML上に該当クラスが存在しない（デッドコード）と判明した
   .creator-pick-head h2 / .calendar-detail-head h3 / .mega-lead p は
   対象から除外した。
   ========================================================= */

/* 元のルールが @media 無し（PC・モバイル共通）だったもの */
#articleReaderTitle,
#articleReaderText,
.article-library-title-v81 h1.article-hero-title-v98,
.interview-issue-head h2,
.interview-feature-copy h3,
.archive-jacket strong,
.quick-gift-detail-copy p,
.calendar-pop-copy p,
.daily-slider .section-title-row h2,
.giftween-picks-head h2,
#quickLayout .quick-card-body h3{
  word-break:normal!important;
  overflow-wrap:anywhere!important;
}

/* 元のルールが @media(max-width:900px) 内だったもの */
@media(max-width:900px){
  .ranking-card .ranking-meta h3,
  .ranking-meta h3,
  .today-card h2,
  .daily-slider .daily-item:first-child h3,
  .interview-next-card .next-card-body h3,
  .hero-making-copy h1{
    word-break:normal!important;
    overflow-wrap:anywhere!important;
  }
}

