
/* Kobe souvenirs — light, text-first editorial, no empty product photo cards */
.gift-guide{max-width:1060px;margin:auto;padding:20px 18px 80px;background:#fff;color:#1a1d24;font-family:"Noto Sans JP",sans-serif}
.gift-guide *{box-sizing:border-box}.gift-guide a{color:inherit}
.gs-back{display:inline-block;font-size:12px;font-weight:800;text-decoration:none;margin-bottom:19px}
.gs-hero{background:#f3f5f7;border-radius:18px;overflow:hidden}
.gs-hero-photo{height:255px}.gs-hero-photo img{display:block;width:100%;height:100%;object-fit:cover}
.gs-hero-copy{padding:31px 24px 37px}
.gs-hero-copy>span,.gs-section-kicker{display:block;font:900 10px/1.65 Montserrat,sans-serif;letter-spacing:.12em;color:#2458bc;margin-bottom:15px}
.gs-hero h1{font-size:clamp(29px,4vw,44px);letter-spacing:-.052em;line-height:1.4;font-weight:900;margin:0}
.gs-hero p{font-size:15px;font-weight:650;color:#384554;line-height:2.1;margin:18px 0 0}
.gs-main{max-width:815px;margin:auto}
.gs-main h2{font-size:clamp(23px,3.1vw,31px);line-height:1.5;letter-spacing:-.035em;margin:0 0 17px}
.gs-main p{font-size:15px;line-height:2.14;color:#414b55;margin:0}
.gs-intro{margin-top:64px}
.gs-choices{margin-top:51px;padding:25px 26px;background:#f6f8fb;border-radius:12px}
.gs-choices h2{font-size:18px;margin:0 0 8px}
.gs-choices p{font-size:13px;line-height:2}
.gs-shops{margin-top:70px}.gs-shops>h2{margin-bottom:18px}
.gs-product{padding:37px 0 39px;border-top:1px solid #e1e5eb;scroll-margin-top:110px}
.gs-product-overline{font:800 11px/1.5 Montserrat,sans-serif;letter-spacing:.075em;color:#2458bc;margin-bottom:12px}
.gs-product h3{font-size:clamp(20px,2.7vw,25px);line-height:1.45;letter-spacing:-.03em;margin:0 0 10px;font-weight:850}
.gs-product h3 span{font-size:17px;font-weight:750}
.gs-main .gs-product-hook{font-size:16px;font-weight:850;color:#283442;margin:0 0 20px}
.gs-product>p:not(.gs-product-hook){margin:0}
.gs-product dl{border-top:1px solid #e6e9ec;margin:22px 0 17px}
.gs-product dl div{display:grid;grid-template-columns:125px minmax(0,1fr);gap:12px;border-bottom:1px solid #e6e9ec;padding:12px 2px;font-size:12px;line-height:1.85}
.gs-product dt{font-weight:850;color:#5b6571}
.gs-product dd{margin:0;color:#39444e}
.gs-product-links{display:flex;flex-wrap:wrap;gap:12px 20px}
.gs-product-links a,.gs-route-links a{color:#2055ba!important;text-decoration:underline;text-underline-offset:4px;font-size:12px;font-weight:850;line-height:1.7}
.gs-product-local{border-top:none;border-radius:13px;padding:33px 27px 37px;margin-top:19px;background:#f4f7fb}
.gs-route{margin-top:68px}
.gs-route-links{margin-top:24px;display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.gs-sources{border-top:1px solid #e3e6e9;margin-top:63px;padding-top:24px}
.gs-main .gs-sources p{font-size:11px;color:#6c7681;line-height:2}
.gs-sources time{display:block;font-size:11px;color:#7d8892;margin-top:20px}
@media(min-width:795px){.gs-hero{display:grid;grid-template-columns:1fr .95fr;min-height:390px}.gs-hero-photo{order:2;height:100%;min-height:390px}.gs-hero-copy{order:1;display:flex;flex-direction:column;justify-content:center;padding:43px}}
@media(max-width:620px){.gift-guide{padding:15px 17px 73px}.gs-hero-photo{height:222px}.gs-hero-copy{padding:28px 22px 33px}.gs-hero h1{font-size:29px}.gs-intro{margin-top:49px}.gs-choices{margin-top:43px;padding:20px 19px}.gs-shops{margin-top:54px}.gs-product{padding:30px 0 34px}.gs-product h3 span{display:block;margin-top:3px;font-size:16px}.gs-product dl div{grid-template-columns:92px minmax(0,1fr);gap:9px}.gs-product-links{flex-direction:column;gap:10px}.gs-product-local{padding:27px 18px 30px}.gs-route{margin-top:51px}}

/* Source-attributed product photos: inline editorial figures, not oversized cards. */
.gs-product-figure{max-width:480px;margin:21px 0 24px}
.gs-product-figure>a{display:block;background:#f6f7f8;overflow:hidden;border-radius:11px;line-height:0;aspect-ratio:4/3}
.gs-product-figure img{display:block;width:100%;height:100%;object-fit:contain;max-width:100%;background:#f6f7f8}
.gs-product-figure figcaption{margin-top:7px;color:#777f89;font-size:10px;line-height:1.6}
.gs-product-figure figcaption span{color:#2458bc}
@media(max-width:620px){.gs-product-figure{max-width:100%;margin:17px 0 20px}}
