@charset "UTF-8";

.starlux-shops-page{margin:0;color:#222;background:#fff;}
.starlux-shops-page main{font-family:"Lato","Helvetica Neue",Arial,"PingFang TC","Microsoft JhengHei",sans-serif;color:#222;}
.starlux-shops-page main *,.starlux-shops-page main *::before,.starlux-shops-page main *::after{box-sizing:border-box;}
.starlux-shops-page main img{display:block;max-width:100%;}
.starlux-shops-page main a{text-decoration:none;}

.shops-hero{position:relative;overflow:hidden;padding:100px 32px 104px;text-align:center;background:linear-gradient(135deg,#f8fcfd 0%,#eaf7fb 48%,#f8fcfd 100%);}
.shops-hero::before{content:"";position:absolute;top:-330px;right:-120px;width:570px;height:570px;border-radius:50%;background:rgba(0,165,223,.065);pointer-events:none;}
.shops-hero::after{content:"";position:absolute;bottom:-340px;left:-130px;width:480px;height:480px;border-radius:50%;background:rgba(0,165,223,.055);pointer-events:none;}
.shops-hero__inner{position:relative;z-index:2;max-width:1100px;margin:0 auto;}
.shops-hero__eyebrow{margin:0 0 22px;color:#008ebf;font-family:"Lato",sans-serif;font-size:15px;font-weight:700;line-height:1.5;letter-spacing:.16em;}
.shops-hero__title{margin:0;color:#222;font-size:clamp(38px,4.3vw,58px);font-weight:500;line-height:1.42;letter-spacing:.02em;}
.shops-hero__sub{display:block;margin-bottom:10px;color:#555;font-size:.43em;font-weight:500;line-height:1.5;letter-spacing:.09em;}
.shops-hero__title strong{display:inline-block;margin-left:.08em;color:#00a5df;font-family:"Lato",sans-serif;font-size:1.22em;font-weight:700;}
.shops-hero__lead{max-width:820px;margin:32px auto 0;color:#4f575a;font-size:17px;line-height:2;}

.shops-eligibility{position:relative;z-index:5;padding:0 32px;}
.shops-eligibility__inner{max-width:1060px;margin:-36px auto 0;padding:42px 50px 36px;border:1px solid #e8eef0;border-radius:5px;background:#fff;box-shadow:0 14px 42px rgba(0,63,90,.1);}
.shops-eligibility__badge{display:table;margin:0 auto 20px;padding:8px 21px;border-radius:100px;color:#fff;background:#00a5df;font-size:14px;font-weight:700;line-height:1.45;letter-spacing:.07em;}
.shops-eligibility__intro{margin:0 auto 28px;color:#444;text-align:center;font-size:16px;line-height:1.9;}
.shops-eligibility__grid{display:grid;grid-template-columns:1fr 1.45fr;gap:1px;overflow:hidden;border:1px solid #dce8ed;background:#dce8ed;}
.shops-eligibility__item{min-width:0;padding:22px 24px;background:#fff;text-align:center;}
.shops-eligibility__label{margin:0 0 9px;color:#687980;font-size:13px;font-weight:700;line-height:1.5;letter-spacing:.08em;}
.shops-eligibility__flights{margin:0;color:#008ebf;font-family:"Lato",sans-serif;font-size:22px;font-weight:700;line-height:1.6;}
.shops-eligibility__flights span{display:inline-block;margin:0 9px;color:#aab6bc;font-weight:400;}
.shops-eligibility__date{margin:0;color:#222;font-size:18px;font-weight:600;line-height:1.65;}

.shops-eligibility__howto{margin-top:28px;padding:26px 28px;background:#f7fafb;text-align:center;}
.shops-eligibility__howto-title{margin:0 0 9px;color:#222;font-size:18px;font-weight:700;line-height:1.5;}
.shops-eligibility__howto-text{max-width:760px;margin:0 auto;color:#444;font-size:15px;line-height:1.9;}
.shops-eligibility__howto-text strong{color:#008ebf;font-family:"Lato",sans-serif;font-weight:700;}
.shops-eligibility__counter-sign{max-width:420px;margin:22px auto 0;}
.shops-eligibility__counter-sign img{width:100%;height:auto;margin:0 auto;}
.shops-eligibility__counter-sign p{margin:11px 0 0;color:#606060;font-size:13px;line-height:1.7;}
.shops-eligibility__note{margin:18px 0 0;color:#686868;font-size:13px;line-height:1.75;}

.shops-section{padding:95px 30px 110px;background:#fff;}
.shops-section__inner{max-width:1180px;margin:0 auto;}
.shops-section__heading{margin:0 0 48px;text-align:center;}
.shops-section__en{margin:0 0 8px;color:#00a5df;font-family:"Lato",sans-serif;font-size:14px;font-weight:700;line-height:1.4;letter-spacing:.22em;}
.shops-section__heading h2{margin:0;color:#222;font-size:36px;font-weight:500;line-height:1.5;letter-spacing:.06em;}
.shops-section__heading>p:last-child{margin:17px 0 0;color:#5d5d5d;font-size:16px;line-height:1.9;}

.shops-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:36px 24px;}

.shop-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid #dfe5e8;background:#fff;transition:transform .3s ease,box-shadow .3s ease;}
@media (hover:hover) and (pointer:fine){
  .shop-card:hover{transform:translateY(-3px);box-shadow:0 12px 32px rgba(0,55,80,.09);}
}

.shop-gallery{position:relative;width:calc(100% - 24px);margin:12px 12px 0;overflow:hidden;border-radius:4px;background:#eef1f2;user-select:none;-webkit-user-select:none;}
.shop-gallery__viewport{position:relative;width:100%;aspect-ratio:11/6;overflow:hidden;background:#eef1f2;touch-action:pan-y;}
.shop-gallery__track{display:flex;width:100%;height:100%;transform:translate3d(0,0,0);will-change:transform;}
.shop-gallery__slide{flex:0 0 100%;width:100%;min-width:100%;height:100%;overflow:hidden;background:#eef1f2;}
.shop-gallery__slide img{width:100%;height:100%;object-fit:cover;object-position:center;pointer-events:none;}

.shop-gallery__dots{position:absolute;z-index:5;right:0;bottom:10px;left:0;display:flex;align-items:center;justify-content:center;gap:6px;min-height:12px;pointer-events:none;}
.shop-gallery__dot{display:block;width:7px;height:7px;flex:0 0 auto;margin:0;padding:0;border:1px solid rgba(255,255,255,.95);border-radius:100px;appearance:none;-webkit-appearance:none;background:rgba(255,255,255,.45);box-shadow:0 1px 4px rgba(0,0,0,.18);cursor:pointer;pointer-events:auto;transition:width .25s ease,background .25s ease;}
.shop-gallery__dot.is-active{width:19px;background:#fff;}
.shop-gallery__dot:focus-visible{outline:2px solid #00a5df;outline-offset:2px;}

.shop-card__body{display:flex;flex:1;flex-direction:column;min-width:0;padding:24px 22px 24px;}
.shop-card__category{display:inline-flex;align-self:flex-start;margin:0 0 14px;padding:6px 10px;border-radius:3px;color:#007fae;background:#edf9fd;font-size:13px;font-weight:700;line-height:1.45;}
.shop-card__name{min-height:56px;margin:0 0 15px;color:#202020;font-family:"Lato","Helvetica Neue",Arial,"PingFang TC","Microsoft JhengHei",sans-serif;font-size:20px;font-weight:700;line-height:1.4;letter-spacing:.01em;overflow-wrap:anywhere;}
.shop-card__description{margin:0 0 21px;color:#4c4c4c;font-size:15px;line-height:1.85;}

.shop-brands{width:100%;margin:0 0 21px;padding:0;border-top:1px solid #dfe5e7;border-bottom:1px solid #dfe5e7;}
.shop-brands summary{position:relative;display:block;width:100%;min-height:50px;margin:0;padding:14px 40px 14px 1px;color:#303030;cursor:pointer;font-size:14px;font-weight:600;line-height:1.5;list-style:none;-webkit-tap-highlight-color:transparent;}
.shop-brands summary::-webkit-details-marker{display:none;}
.shop-brands summary::marker{content:"";}
.shop-brands summary::before,.shop-brands summary::after{content:"";position:absolute;top:50%;right:5px;width:14px;height:2px;background:#00a5df;transform:translateY(-50%);transition:opacity .2s ease,transform .2s ease;}
.shop-brands summary::after{transform:translateY(-50%) rotate(90deg);}
.shop-brands[open] summary::after{opacity:0;transform:translateY(-50%);}
.shop-brands summary:focus-visible{outline:2px solid rgba(0,165,223,.4);outline-offset:2px;}
.shop-brands__content{padding:0 1px 17px;}
.shop-brands__content p{margin:0;color:#626262;font-family:"Lato","Helvetica Neue",Arial,"PingFang TC","Microsoft JhengHei",sans-serif;font-size:13px;line-height:1.8;overflow-wrap:anywhere;}
.shop-brands__heading{margin:15px 0 4px!important;color:#222!important;font-size:13px!important;font-weight:700!important;line-height:1.5!important;}
.shop-brands__heading:first-child{margin-top:0!important;}

.shop-card__bottom{margin-top:auto;}
.shop-card__location-label{margin:0 0 6px;color:#0098ce;font-family:"Lato",sans-serif;font-size:11px;font-weight:700;line-height:1.4;letter-spacing:.16em;}
.shop-card__location-text{margin:0;color:#303030;font-size:14px;line-height:1.65;}
.shop-card__map{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:49px;margin-top:18px;padding:12px 40px 12px 18px;border:1px solid #009ed7;color:#0088b9!important;background:#fff;font-size:14px;font-weight:600;line-height:1.45;text-align:center;transition:color .25s ease,background .25s ease;}
.shop-card__map::after{content:"";position:absolute;top:50%;right:18px;width:7px;height:7px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:translateY(-50%) rotate(45deg);}
.shop-card__map:focus-visible{outline:2px solid rgba(0,165,223,.4);outline-offset:2px;}
@media (hover:hover) and (pointer:fine){
  .shop-card__map:hover{color:#fff!important;background:#00a5df;}
}

.shops-notice{padding:72px 30px;background:#f5f7f8;}
.shops-notice__inner{max-width:960px;margin:0 auto;}
.shops-notice h2{margin:0 0 26px;color:#222;text-align:center;font-size:26px;font-weight:500;line-height:1.5;letter-spacing:.05em;}
.shops-notice ul{margin:0;padding:0;list-style:none;}
.shops-notice li{position:relative;margin:0 0 10px;padding-left:20px;color:#555;font-size:14px;line-height:1.8;}
.shops-notice li:last-child{margin-bottom:0;}
.shops-notice li::before{content:"・";position:absolute;top:0;left:0;}

.shops-back{padding:58px 30px 82px;text-align:center;background:#fff;}
.shops-back a{display:inline-flex;align-items:center;justify-content:center;min-width:360px;min-height:55px;padding:13px 28px;border:1px solid #262626;color:#262626!important;background:#fff;font-size:14px;font-weight:500;line-height:1.5;transition:color .25s ease,background .25s ease;}
.shops-back__arrow{display:inline-block;margin-right:12px;font-family:Arial,sans-serif;font-size:25px;line-height:1;transform:translateY(-1px);}
@media (hover:hover) and (pointer:fine){
  .shops-back a:hover{color:#fff!important;background:#222;}
}

@media screen and (max-width:960px){
  .shops-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .shops-section{padding-right:24px;padding-left:24px;}
  .shops-eligibility__inner{padding-right:36px;padding-left:36px;}
  .shop-card__name{min-height:0;}
}

@media screen and (max-width:767px){
  .shops-hero{padding:70px 20px 68px;}
  .shops-hero__eyebrow{margin-bottom:18px;font-size:12px;line-height:1.6;letter-spacing:.1em;}
  .shops-hero__title{font-size:32px;line-height:1.45;}
  .shops-hero__sub{margin-bottom:10px;font-size:15px;line-height:1.55;}
  .shops-hero__lead{margin-top:22px;font-size:15px;line-height:1.85;}

  .shops-eligibility{padding:0 16px;}
  .shops-eligibility__inner{margin-top:-23px;padding:30px 19px 27px;}
  .shops-eligibility__badge{margin-bottom:16px;padding:7px 16px;font-size:13px;}
  .shops-eligibility__intro{margin-bottom:22px;font-size:15px;line-height:1.8;}
  .shops-eligibility__grid{display:block;border:1px solid #dce8ed;background:transparent;}
  .shops-eligibility__item{padding:18px 14px;}
  .shops-eligibility__item+.shops-eligibility__item{border-top:1px solid #dce8ed;}
  .shops-eligibility__label{font-size:13px;}
  .shops-eligibility__flights{font-size:20px;}
  .shops-eligibility__flights span{margin:0 5px;}
  .shops-eligibility__date{font-size:15px;line-height:1.8;}

  .shops-eligibility__howto{margin-top:22px;padding:20px 15px;}
  .shops-eligibility__howto-title{font-size:17px;}
  .shops-eligibility__howto-text{font-size:14px;line-height:1.8;}
  .shops-eligibility__counter-sign{max-width:340px;margin-top:18px;}
  .shops-eligibility__counter-sign p{font-size:13px;}
  .shops-eligibility__note{margin-top:15px;font-size:13px;}

  .shops-section{padding:70px 15px 80px;}
  .shops-section__heading{margin-bottom:34px;}
  .shops-section__en{font-size:12px;}
  .shops-section__heading h2{font-size:29px;}
  .shops-section__heading>p:last-child{margin-top:14px;font-size:15px;line-height:1.8;}
  .shops-grid{grid-template-columns:1fr;gap:28px;}

  .shop-gallery{width:calc(100% - 20px);margin:10px 10px 0;}
  .shop-gallery__viewport{aspect-ratio:11/6;}
  .shop-gallery__dots{bottom:8px;}
  .shop-gallery__dot{width:7px;height:7px;}
  .shop-gallery__dot.is-active{width:18px;}

  .shop-card__body{padding:21px 18px 21px;}
  .shop-card__category{margin-bottom:13px;font-size:13px;}
  .shop-card__name{min-height:0;margin-bottom:15px;font-size:20px;}
  .shop-card__description{margin-bottom:19px;font-size:15px;line-height:1.8;}
  .shop-brands{margin-bottom:19px;}
  .shop-brands summary{min-height:50px;font-size:14px;}
  .shop-brands__content p{font-size:13px;}
  .shop-card__location-text{font-size:14px;}
  .shop-card__map{min-height:49px;margin-top:17px;font-size:14px;}

  .shops-notice{padding:54px 19px;}
  .shops-notice h2{margin-bottom:22px;font-size:22px;}
  .shops-notice li{font-size:14px;line-height:1.8;}

  .shops-back{padding:50px 20px 65px;}
  .shops-back a{width:100%;min-width:0;min-height:54px;font-size:14px;}
}

@media screen and (max-width:374px){
  .shops-hero__title{font-size:29px;}
  .shop-card__body{padding-right:16px;padding-left:16px;}
  .shop-card__name{font-size:19px;}
  .shop-card__description{font-size:14.5px;}
}

@media (prefers-reduced-motion:reduce){
  .shop-card,.shop-gallery__dot,.shop-card__map,.shops-back a{transition:none!important;}
}