/* いいねこれ —ティニピンのハートの世界 2026-11-12 */
/* Scoped to the new home-only shelf and news-image enhancement. */
.iikts-shelf{position:relative;box-sizing:border-box;isolation:isolate;overflow:hidden;width:min(1220px,calc(100% - 24px));margin:36px auto 44px;padding:36px 28px 30px;border:1px solid #f6c6dc;border-radius:25px;background:radial-gradient(circle at 6% 8%,#fff9dd 0,#fff9dd 5%,transparent 32%),radial-gradient(circle at 95% 14%,#eee5ff 0,#eee5ff 7%,transparent 31%),linear-gradient(135deg,#fff0f7 0%,#f9ecff 48%,#fff8fc 100%);box-shadow:0 17px 45px rgba(160,82,129,.11);color:#613956}
.iikts-shelf::before,.iikts-shelf::after{position:absolute;z-index:-1;font-family:Arial,sans-serif;color:rgba(225,103,163,.21);font-size:clamp(120px,19vw,260px);font-weight:400;line-height:1;pointer-events:none;content:"♡"}
.iikts-shelf::before{top:-60px;left:-25px;transform:rotate(-18deg)}
.iikts-shelf::after{right:-30px;bottom:-80px;transform:rotate(18deg);color:rgba(167,122,230,.17)}
.iikts-hearts{position:absolute;right:8%;top:17px;font-size:23px;letter-spacing:13px;color:#ce85ba;opacity:.55;pointer-events:none}
.iikts-heading{text-align:center;position:relative;margin:0 0 24px}
.iikts-eyebrow{font-size:12px!important;letter-spacing:.16em!important;font-weight:800!important;color:#b16b9e!important;margin:0 0 9px!important}
.iikts-heading h2{margin:0 0 10px!important;font-size:clamp(22px,3.1vw,34px)!important;font-weight:900!important;line-height:1.4!important;letter-spacing:.01em;color:#a24587!important}
.iikts-heading>p:last-child{font-size:14px!important;line-height:1.7!important;color:#705975!important;margin:0!important}
.iikts-categories{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:7px;margin:0 0 17px}
.iikts-categories button{font-family:inherit;font-size:13px;font-weight:750;color:#924d80;background:rgba(255,255,255,.82);border:1px solid #e8bedb;border-radius:100px;min-height:42px;padding:9px 15px;cursor:pointer;box-shadow:0 2px 5px rgba(162,91,129,.04)}
.iikts-categories button.is-active,.iikts-categories button[aria-pressed="true"]{background:#d670ad;border-color:#d670ad;color:#fff;box-shadow:0 4px 12px rgba(197,98,152,.24)}
.iikts-track-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 12px;color:#96658c;font-weight:700;font-size:13px}
.iikts-track-controls>div{display:flex;gap:8px}
.iikts-track-prev,.iikts-track-next{width:40px;height:40px;cursor:pointer;border-radius:50%;border:1px solid #efd3e7;background:#fff;color:#a34c87;font-size:27px;line-height:1;box-shadow:0 2px 10px rgba(128,87,117,.1)}
.iikts-track{display:flex;gap:14px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-inline:4px;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:#e6aacd transparent;padding:2px 4px 16px;touch-action:pan-x;scroll-behavior:smooth}
.iikts-card{box-sizing:border-box;scroll-snap-align:start;flex:0 0 clamp(190px,24%,246px);min-width:0;display:flex;flex-direction:column;gap:9px;padding:12px 12px 15px;margin:0;background:#fff;border:1px solid #edd6e6;border-radius:16px;box-shadow:0 5px 13px rgba(117,69,101,.08);text-align:center}
.iikts-card[hidden]{display:none!important}
.iikts-photo-open{display:block;appearance:none;min-width:0;width:100%;background:transparent;border:0;padding:0;cursor:zoom-in;color:inherit;text-align:center}
.iikts-photo-area{display:flex;align-items:center;justify-content:center;overflow:hidden;aspect-ratio:1/1;max-height:230px;background:#fffdfd;border:1px solid #f8e8f1;border-radius:12px}
.iikts-photo-area img{display:block!important;box-sizing:border-box!important;max-width:100%!important;max-height:100%!important;width:100%!important;height:100%!important;object-fit:contain!important;margin:0!important;transform:none!important}
.iikts-magnify{display:inline-block;margin:7px auto 0;padding:4px 12px;color:#ae528a;background:#fff1f8;border-radius:50px;font-size:11px;font-weight:800}
.iikts-product-name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;font-size:13px!important;line-height:1.55!important;font-weight:700!important;color:#51425b!important;min-height:59px;margin:0!important;text-align:left;overflow-wrap:anywhere}
.iikts-shop,.iikts-see-all{display:flex;align-items:center;justify-content:center;box-sizing:border-box;text-decoration:none!important;min-height:43px;border-radius:10px;font-size:13px;font-weight:800;line-height:1.4}
.iikts-shop{margin-top:auto;background:#a75c97;color:#fff!important;padding:9px 10px}
.iikts-see-all{margin:20px auto 0;width:max-content;max-width:100%;background:#fff;color:#8f397c!important;border:1px solid #dbb0d4;padding:10px 20px}
.iikts-caption{margin:13px 0 0!important;text-align:center;color:#746477;font-size:11px!important;line-height:1.6!important}
.iikts-categories button:focus-visible,.iikts-card button:focus-visible,.iikts-shelf a:focus-visible,.iikts-modal button:focus-visible,.iikts-modal a:focus-visible{outline:3px solid #6242a7!important;outline-offset:3px}
.iikts-modal[hidden],.iikts-shelf[hidden],.iikts-swipe-guide[hidden]{display:none!important}
.iikts-modal{position:fixed;z-index:2147482000;inset:0;display:flex;align-items:center;justify-content:center;overscroll-behavior:contain}
.iikts-backdrop{position:absolute;inset:0;background:rgba(38,19,47,.77);backdrop-filter:blur(8px)}
.iikts-modal-panel{position:relative;display:grid;grid-template-columns:50px minmax(0,620px) 50px;align-items:center;gap:8px;width:min(96vw,760px);max-height:96dvh;z-index:1}
.iikts-modal-content{position:relative;box-sizing:border-box;overflow-y:auto;max-height:95dvh;padding:18px 21px 20px;border-radius:20px;background:linear-gradient(160deg,#fff7fb 0,#fbf5ff 100%);box-shadow:0 22px 55px rgba(0,0,0,.3);text-align:center}
.iikts-zoom-image{position:relative;display:flex;align-items:center;justify-content:center;width:100%;height:min(57dvh,500px);min-height:230px;background:#fff;border:1px solid #f1dbe9;border-radius:15px;overflow:hidden;touch-action:pan-y}
.iikts-zoom-image>img{max-width:100%!important;max-height:100%!important;width:100%!important;height:100%!important;display:block!important;object-fit:contain!important;margin:0!important}
.iikts-swipe-guide{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);width:max-content;max-width:90%;padding:15px 21px;background:rgba(69,35,80,.74);border:1px solid rgba(255,255,255,.5);border-radius:13px;color:#fff;font-size:clamp(13px,3vw,17px);font-weight:800;line-height:1.45;text-align:center;pointer-events:none;box-shadow:0 6px 22px rgba(0,0,0,.17)}
.iikts-modal-prev,.iikts-modal-next{display:grid;place-items:center;width:46px;height:58px;border:1px solid rgba(255,255,255,.45);border-radius:14px;background:rgba(255,255,255,.25);color:#fff;font-size:36px;cursor:pointer}
.iikts-close{position:absolute;top:-16px;right:35px;z-index:3;width:45px;height:45px;border-radius:50%;background:#fff;color:#a04e90;border:1px solid #e8c5dd;box-shadow:0 2px 12px rgba(33,9,32,.15);font-size:31px;cursor:pointer}
.iikts-zoom-count{color:#916a90;font-size:12px!important;margin:8px 0 5px!important}
#iikts-zoom-name{font-size:clamp(14px,2.4vw,18px)!important;color:#573956!important;line-height:1.5!important;margin:0 0 11px!important;overflow-wrap:anywhere}
.iikts-zoom-shop{display:block;max-width:350px;width:95%;box-sizing:border-box;margin:0 auto;min-height:45px;border-radius:11px;padding:12px 20px;background:#bc5895;color:#fff!important;font-size:15px;font-weight:800;text-decoration:none!important}
.iikts-zoom-note{margin:8px 0 0!important;font-size:11px!important;color:#7c7180}
body.iikts-lightbox-open{overflow:hidden!important}
/* The native news card has several children BEFORE its .iik-news-list__body.
   Never create another grid cell for the photo: that shifted the actual body
   into the 100px grid column and broke every Japanese headline on mobile.
   Keep the article as a single full-width block. Float a small icon INSIDE
   its existing text body; no reparenting, no width split at card level. */
.iik-news-list__item.iikts-news-card{
 display:block!important;position:relative!important;box-sizing:border-box!important;
 width:100%!important;max-width:100%!important;min-width:0!important;
 grid-template-columns:none!important;overflow:visible!important;
}
.iik-news-list__item.iikts-news-card>.iik-news-list__body{
 display:flow-root!important;box-sizing:border-box!important;
 width:100%!important;max-width:100%!important;min-width:0!important;
 margin-inline:0!important;overflow-wrap:normal!important;
 word-break:normal!important;
}
.iik-news-list__item.iikts-news-card .iik-news-list__body :is(h2,h3){
 width:auto!important;max-width:100%!important;min-width:0!important;
 white-space:normal!important;word-break:normal!important;
 overflow-wrap:anywhere!important;line-break:strict!important;
}
.iik-news-list__item.iikts-news-card .iik-news-list__body :is(p,a,small){
 word-break:normal!important;overflow-wrap:anywhere!important;
}
.iik-news-list__item.iikts-news-card .iikts-news-media{
 box-sizing:border-box!important;display:grid!important;place-items:center!important;
 float:left!important;clear:none!important;flex:none!important;
 width:96px!important;height:96px!important;max-width:96px!important;
 max-height:96px!important;min-width:96px!important;
 margin:0 14px 9px 0!important;overflow:hidden!important;
 border:1px solid #efd9eb!important;border-radius:12px!important;
 background:linear-gradient(140deg,#fff2f8,#eee7ff)!important;
}
.iik-news-list__item.iikts-news-card .iikts-news-media img{
 display:block!important;box-sizing:border-box!important;
 width:100%!important;height:100%!important;max-width:100%!important;
 max-height:100%!important;object-fit:cover!important;margin:0!important;
}
.iikts-news-media--fallback{font-size:34px;color:#cf8fb6;line-height:1}
.iikts-world-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;margin:0 auto 17px;max-width:660px}
.iikts-world-tabs button{font-family:inherit;appearance:none;cursor:pointer;min-width:0;min-height:53px;border:2px solid #efd1e7;border-radius:14px;background:#fff;color:#a55493;font-size:clamp(14px,1.7vw,18px);font-weight:900;padding:10px 6px;text-align:center;box-shadow:0 3px 10px rgba(154,95,135,.08)}
.iikts-world-tabs button.is-active,.iikts-world-tabs button[aria-pressed="true"]{border-color:#cc75af;background:#cc75af;color:#fff;box-shadow:0 7px 19px rgba(176,95,153,.25)}
.iikts-world-tabs button:focus-visible{outline:3px solid #6242a7!important;outline-offset:2px}
.iikts-categories button[hidden]{display:none!important}
.iikts-shelf[data-iikts-current-world="sanrio"]{background:radial-gradient(circle at 10% 5%,#fff6dd 0,transparent 38%),radial-gradient(circle at 85% 13%,#dff3ff 0,transparent 40%),linear-gradient(125deg,#fff4fa 0%,#f4f2ff 55%,#fffdf1 100%);border-color:#e5d4f7}
.iikts-shelf[data-iikts-current-world="sanrio"] .iikts-world-tabs button.is-active{background:#9884d8;border-color:#9884d8}
.iikts-shelf[data-iikts-current-world="chiikawa"]{background:radial-gradient(circle at 4% 7%,#fffaf0 0,transparent 40%),linear-gradient(135deg,#f3fbf0 0%,#fdf4fa 55%,#f8f5ff 100%);border-color:#d6e9d5}
.iikts-shelf[data-iikts-current-world="chiikawa"] .iikts-world-tabs button.is-active{background:#7da687;border-color:#7da687}
@media (max-width:760px){
 .iikts-shelf{width:calc(100% - 14px);padding:26px 12px 20px;margin:25px auto 34px;border-radius:19px}
 .iikts-heading{margin-bottom:17px}
 .iikts-hearts{right:5%;font-size:18px}
 .iikts-categories{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;gap:6px;padding-bottom:6px}
 .iikts-categories button{flex-shrink:0;min-height:40px;font-size:12px;padding:7px 12px}
 .iikts-track{gap:10px}
 .iikts-card{flex-basis:clamp(148px,46vw,190px);padding:9px 9px 12px;border-radius:13px}
 .iikts-product-name{font-size:12px!important;min-height:57px}
 .iikts-track-controls{font-size:12px}
 .iikts-modal-panel{grid-template-columns:37px minmax(0,1fr) 37px;gap:2px;width:min(100vw,680px)}
 .iikts-modal-content{padding:13px 9px 15px;border-radius:13px}
 .iikts-modal-prev,.iikts-modal-next{width:35px;height:48px;border-radius:10px;font-size:30px}
 .iikts-close{right:27px;top:-28px;width:40px;height:40px;font-size:26px}
 .iikts-zoom-image{height:min(53dvh,390px);min-height:190px}
 .iikts-world-tabs{gap:6px;margin-bottom:15px}
 .iikts-world-tabs button{min-height:44px;font-size:clamp(12px,3.2vw,15px);border-radius:11px;padding:8px 2px}
 .iik-news-list__item.iikts-news-card .iikts-news-media{
   width:80px!important;height:80px!important;min-width:80px!important;
   max-width:80px!important;max-height:80px!important;margin-right:11px!important
 }
 .iikts-news-media--fallback{font-size:29px}
}
@media (max-width:390px){
 .iikts-modal-panel{grid-template-columns:29px minmax(0,1fr) 29px;gap:2px}
 .iikts-modal-prev,.iikts-modal-next{width:27px;height:44px;font-size:25px}
 .iikts-close{right:17px}
 .iikts-zoom-image{height:50dvh}
 .iik-news-list__item.iikts-news-card .iikts-news-media{
   width:68px!important;height:68px!important;min-width:68px!important;
   max-width:68px!important;max-height:68px!important;margin-right:9px!important
 }
}
@media(prefers-reduced-motion:reduce){.iikts-track{scroll-behavior:auto!important}}

/* 2026-11-12: enlarged touch targets; translucent overlay over product photo. */
.iikts-modal-panel{isolation:isolate}
.iikts-modal-prev,.iikts-modal-next{
  position:absolute!important;
  z-index:5!important;
  top:48%!important;
  transform:translateY(-50%)!important;
  width:clamp(70px,9vw,96px)!important;
  height:clamp(108px,15vw,145px)!important;
  min-height:92px!important;
  font-size:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  padding:8px 4px!important;
  border-radius:24px!important;
  border:2px solid rgba(255,255,255,.78)!important;
  background:rgba(161,44,126,.7)!important;
  color:#fff!important;
  box-shadow:0 5px 18px rgba(79,22,69,.27),inset 0 0 12px rgba(255,255,255,.12)!important;
  cursor:pointer!important;
  touch-action:manipulation;
  -webkit-tap-highlight-color:transparent;
}
.iikts-modal-prev{left:0!important}
.iikts-modal-next{right:0!important}
.iikts-modal-prev::before,.iikts-modal-next::before{
 display:block;
 color:#fff;
 font-family:Arial,sans-serif;
 font-size:clamp(25px,3.6vw,40px)!important;
 font-weight:900;
 line-height:1.15;
 letter-spacing:-.26em;
 margin-right:.26em;
}
.iikts-modal-prev::before{content:"❮❮❮"}
.iikts-modal-next::before{content:"❯❯❯"}
.iikts-modal-prev::after,.iikts-modal-next::after{
 display:block;color:#fff;letter-spacing:.01em;
 font-family:inherit;font-size:12px!important;font-weight:900;
 margin-top:7px;white-space:nowrap;
}
.iikts-modal-prev::after{content:"前の商品"}
.iikts-modal-next::after{content:"次の商品"}
.iikts-modal-prev:active,.iikts-modal-next:active{background:rgba(173,45,128,.94)!important}
@media(max-width:760px){
 .iikts-modal-panel{overflow:visible!important}
 .iikts-modal-prev,.iikts-modal-next{
  width:clamp(62px,16vw,82px)!important;
  height:124px!important;
  min-height:108px!important;
  border-radius:21px!important;
  background:rgba(178,53,141,.69)!important;
 }
 .iikts-modal-prev{left:-4px!important}
 .iikts-modal-next{right:-4px!important}
 .iikts-modal-prev::before,.iikts-modal-next::before{font-size:27px!important}
 .iikts-modal-prev::after,.iikts-modal-next::after{font-size:11px!important}
}
@media(max-width:390px){
 .iikts-modal-prev,.iikts-modal-next{width:65px!important;height:115px!important}
}
