[data-scroll-rail]{overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;cursor:grab;scroll-snap-type:x mandatory}
[data-scroll-rail]::-webkit-scrollbar{display:none}
[data-scroll-rail]>*{scroll-snap-align:start}
[data-scroll-rail].is-dragging{cursor:grabbing;scroll-snap-type:none}
.front-card-motion,
:where(
    .front-home-coupon,
    .front-home-event,
    .front-home-story,
    .front-shop-card,
    .front-coupon-card,
    .front-coupon-map-card,
    .front-event-card,
    .front-pass-card,
    .front-story-featured,
    .front-story-card,
    .story-commerce-card__summary,
    .story-related__card,
    .front-orders__item,
    .front-uplus-mate-card,
    .front-my-coupon__card
){
    transform: translateY(0);
    transition: transform 180ms cubic-bezier(.22,1,.36,1), box-shadow 180ms cubic-bezier(.22,1,.36,1), filter 180ms cubic-bezier(.22,1,.36,1);
}

:where(
    .front-home-coupon,
    .front-home-event,
    .front-home-story,
    .front-shop-card,
    .front-coupon-card,
    .front-coupon-map-card,
    .front-event-card,
    .front-pass-card,
    .front-story-featured,
    .front-story-card,
    .story-commerce-card__summary,
    .story-related__card,
    .front-orders__item,
    .front-uplus-mate-card,
    .front-my-coupon__card
):is(:focus-visible,:active){
    transform: translateY(-1px);
    filter: saturate(1.03);
}

:where(
    .front-home-card__media img,
    .front-shop-card__image,
    .front-coupon-card__image,
    .front-coupon-map-card__image,
    .front-event-card__media img,
    .front-pass-card__media img,
    .front-story-featured__media img,
    .front-story-card__media img,
    .story-related__card img,
    .story-commerce-card__media img,
    .front-orders__item img,
    .front-uplus-mate-card__media img,
    .front-my-coupon__image
){
    transform: scale(1);
    transition: transform 220ms cubic-bezier(.22,1,.36,1), filter 220ms cubic-bezier(.22,1,.36,1);
}

@media (hover:hover) and (pointer:fine){
    :where(
        .front-home-coupon,
        .front-home-event,
        .front-home-story,
        .front-shop-card,
        .front-coupon-card,
        .front-coupon-map-card,
        .front-event-card,
        .front-pass-card,
        .front-story-featured,
        .front-story-card,
        .story-commerce-card__summary,
        .story-related__card,
        .front-orders__item,
        .front-uplus-mate-card,
        .front-my-coupon__card
    ):hover{
        transform: translateY(-2px);
        filter: saturate(1.04);
    }

    :where(
        .front-home-coupon,
        .front-home-event,
        .front-home-story,
        .front-shop-card,
        .front-coupon-card,
        .front-coupon-map-card,
        .front-event-card,
        .front-pass-card,
        .front-story-featured,
        .front-story-card,
        .story-commerce-card__summary,
        .story-related__card,
        .front-orders__item,
        .front-uplus-mate-card,
        .front-my-coupon__card
    ):hover :where(img){
        transform: scale(1.025);
    }
}

@media (prefers-reduced-motion:reduce){
    :where(
        .front-home-coupon,
        .front-home-event,
        .front-home-story,
        .front-shop-card,
        .front-coupon-card,
        .front-coupon-map-card,
        .front-event-card,
        .front-pass-card,
        .front-story-featured,
        .front-story-card,
        .story-commerce-card__summary,
        .story-related__card,
        .front-orders__item,
        .front-my-coupon__card,
        .front-home-card__media img,
        .front-shop-card__image,
        .front-coupon-card__image,
        .front-coupon-map-card__image,
        .front-event-card__media img,
        .front-pass-card__media img,
        .front-story-featured__media img,
        .front-story-card__media img,
        .story-related__card img,
        .story-commerce-card__media img,
        .front-orders__item img,
        .front-my-coupon__image
    ){
        transition: none;
        transform: none;
        filter: none;
    }
}

.front-visually-hidden{
    position:absolute;
    width:1px;
    height:1px;
    overflow:hidden;
    clip:rect(0 0 0 0);
    clip-path:inset(50%);
    white-space:nowrap;
}

.front-detail-utility{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:7px 12px;
    padding:12px 0;
}

.front-detail-utility__back,
.front-detail-utility__share{
    display:inline-grid;
    width:44px;
    height:44px;
    padding:0;
    box-sizing:border-box;
    align-items:center;
    justify-content:center;
    border:1px solid #e7e7ed;
    border-radius:50%;
    background:#fff;
    color:#1a1a1a;
    box-shadow:0 8px 22px rgb(16 24 40/10%);
    font:inherit;
    text-decoration:none;
    touch-action:manipulation;
}

.front-detail-utility__back{
    justify-self:start;
}

.front-detail-utility__share{
    justify-self:end;
    cursor:pointer;
}

.front-detail-utility :where(.material-symbols-outlined){
    flex:0 0 auto;
    font-size:20px;
}

.front-detail-utility__share:disabled,
[data-front-share]:disabled{
    cursor:wait;
    opacity:.65;
}

.front-detail-utility__back:focus-visible,
.front-detail-utility__share:focus-visible{
    outline:2px solid #e6007e;
    outline-offset:2px;
}

[data-front-share]:focus-visible{
    outline:2px solid #e6007e;
    outline-offset:2px;
}

.front-detail-utility__back:active,
.front-detail-utility__share:active{
    transform:scale(.96);
}

.front-detail-utility__status{
    grid-column:1/-1;
    justify-self:end;
    margin:0;
    color:#166534;
    font-size:12px;
    font-weight:700;
    line-height:1.4;
    text-align:right;
}

.front-detail-utility__status:empty{
    display:none;
}

.front-detail-utility__status[data-share-state="error"]{
    color:#b91c1c;
}

.front-address-copy{
    display:flex;
    min-width:0;
    align-items:flex-start;
    gap:9px;
}

.front-address-copy>.material-symbols-outlined,
.front-address-copy__button .material-symbols-outlined{
    position:relative;
    display:inline-flex;
    overflow:hidden;
    flex:0 0 auto;
    width:1em;
    height:1em;
    color:currentColor;
    text-indent:-999px;
}

.front-address-copy>.material-symbols-outlined::before{
    content:"";
    position:absolute;
    inset:2px 4px 4px;
    border:2px solid currentColor;
    border-radius:50% 50% 50% 0;
    transform:rotate(-45deg);
}

.front-address-copy__button .material-symbols-outlined::before,
.front-address-copy__button .material-symbols-outlined::after{
    content:"";
    position:absolute;
    border:1.8px solid currentColor;
    border-radius:3px;
}

.front-address-copy__button .material-symbols-outlined::before{
    inset:4px 2px 2px 5px;
}

.front-address-copy__button .material-symbols-outlined::after{
    inset:2px 5px 4px 2px;
    background:rgb(255 255 255 / 65%);
}

.front-address-copy__content{
    display:grid;
    flex:1 1 0;
    min-width:0;
    gap:3px;
    margin:0;
}

.front-address-copy__row{
    display:grid;
    min-width:0;
    grid-template-columns:96px minmax(0,1fr);
    gap:7px;
    align-items:baseline;
    overflow-wrap:anywhere;
}

.front-address-copy__source{
    color:#767676;
    font-size:12px;
    line-height:1.45;
}

.front-address-copy__label{
    color:#9a9a9a;
    font-size:11px;
    font-weight:850;
    letter-spacing:-.01em;
    white-space:nowrap;
}

.front-address-copy__value{
    min-width:0;
}

.front-address-copy__actions{
    display:flex;
    flex:0 0 auto;
    flex-direction:column;
    align-items:flex-end;
    gap:3px;
}

.front-address-copy__button{
    display:inline-flex;
    min-height:34px;
    align-items:center;
    justify-content:center;
    gap:4px;
    padding:7px 10px;
    border:1px solid rgb(230 0 126 / 22%);
    border-radius:999px;
    background:#fff7fb;
    color:#b00065;
    font:inherit;
    font-size:12px;
    font-weight:850;
    line-height:1;
    cursor:pointer;
    touch-action:manipulation;
    white-space:nowrap;
    transition:background 140ms ease,color 140ms ease,border-color 140ms ease,transform 100ms ease;
}

.front-address-copy__button .material-symbols-outlined{
    font-size:16px;
    line-height:1;
}

.front-address-copy__button:active{
    transform:scale(.96);
}

.front-address-copy__button:focus-visible{
    outline:2px solid #1a1a1a;
    outline-offset:2px;
}

.front-address-copy__button.is-copied{
    border-color:rgb(22 163 74 / 28%);
    background:#ecfdf3;
    color:#166534;
}

.front-address-copy__button.is-error{
    border-color:rgb(220 38 38 / 30%);
    background:#fef2f2;
    color:#b91c1c;
}

.front-address-copy__status{
    min-height:1em;
    color:#767676;
    font-size:11px;
    line-height:1.2;
}

.front-address-copy__status:empty{
    display:none;
}
@media(max-width:430px){
    .front-address-copy{
        flex-wrap:wrap;
    }

    .front-address-copy__actions{
        box-sizing:border-box;
        width:100%;
        align-items:flex-start;
    }

    .front-address-copy>.material-symbols-outlined~.front-address-copy__actions{
        padding-left:27px;
    }
}

@media(prefers-reduced-motion:reduce){
    .front-address-copy__button{
        transition:none;
    }
}
