/* 御朱印一覧／全国の御朱印画像・地域検索・拡大表示 */
.collection-page{--collection-gold:#ba975b;--collection-red:#a51616;--collection-green:#203f35;background-color:#faf7ee}
.collection-page .button{min-height:40px}
.collection-hero{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 71% 50%,#f3e2c1 0%,#fffaf1 58%,#f6eee0 100%);border-bottom:1px solid #e8d9bf}
.collection-hero:before{content:"";position:absolute;right:-15px;left:auto;top:-32px;width:220px;height:180px;background:url('../images/decor/sakura-branch.svg') top left /contain no-repeat;opacity:.3;z-index:-1;pointer-events:none}
.collection-hero:after{content:"";position:absolute;right:0;bottom:0;width:260px;height:180px;background:url('../images/decor/seigaiha.svg') center/160px repeat;mask-image:linear-gradient(to left,#000,transparent);opacity:.22;z-index:-1;pointer-events:none}
.collection-hero-inner{min-height:340px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);align-items:center;gap:24px;padding-block:30px}
.collection-hero-copy{position:relative;z-index:1}
.collection-hero-eyebrow,.collection-kicker{display:block;font:700 10px/1.5 var(--sans);letter-spacing:.2em;color:#ab8449}
.collection-hero-intro{font-size:14px;margin:10px 0 7px;letter-spacing:.06em}
.collection-hero h1{font:800 clamp(30px,3.6vw,48px)/1.38 var(--serif);letter-spacing:.035em;margin:0 0 12px}
.collection-hero h1 em{font-style:normal;color:#a51c16}
.collection-hero-description{font:400 13px/1.95 var(--serif);max-width:510px;margin:0 0 17px;color:#62574d}
.collection-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.collection-hero-art{width:100%;height:320px;position:relative;display:flex;align-items:center;justify-content:center;isolation:isolate}
.collection-hero-art:before{content:"";position:absolute;width:94%;height:89%;left:4%;top:7%;border:1px solid #ddc399;border-radius:52% 48% 50% 50%;background:radial-gradient(ellipse,#fbf5e9 0%,transparent 76%);transform:rotate(-9deg);z-index:-1}
.collection-hero-stamp{position:absolute;width:25%;height:63%;margin:0;padding:5px;border:1px solid #d6c6af;border-radius:4px;background:#fff;box-shadow:0 6px 16px rgba(51,29,12,.2);overflow:hidden}
.collection-hero-stamp img{width:100%;height:100%;object-fit:contain;object-position:center;background:#fff;display:block}
.collection-hero-stamp-1{left:5%;top:19%;transform:rotate(-10deg);z-index:2}
.collection-hero-stamp-2{left:27%;top:4%;transform:rotate(-3deg);z-index:3}
.collection-hero-stamp-3{left:50%;top:13%;transform:rotate(7deg);z-index:4}
.collection-hero-stamp-4{left:72%;top:27%;transform:rotate(12deg);z-index:1}
.collection-hero-art-caption{position:absolute;bottom:0;left:27%;color:#a47d40;font:700 11px/1.6 var(--serif);letter-spacing:.16em;text-align:center}
.collection-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-top:16px;margin-bottom:14px;background:#fffdf8;border:1px solid #e8dfcf;box-shadow:0 4px 14px rgba(58,34,11,.06);border-radius:7px;padding:12px}
.collection-overview>div{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;border-right:1px solid #eadfcd;padding:4px 7px;text-align:center}
.collection-overview>div:last-child{border-right:0}
.collection-overview strong{color:#8d281d;font:800 clamp(19px,2.2vw,28px)/1.2 var(--serif)}
.collection-overview strong span{font-size:12px;margin-left:3px}
.collection-overview div>span{font:600 11px/1.5 var(--serif);color:#675f55;margin-top:6px}
.collection-breadcrumb{display:flex;align-items:center;gap:10px;margin-bottom:18px;font-size:12px;color:#6e6256}
.collection-breadcrumb a{color:#8a653d;text-decoration:underline;text-underline-offset:3px}
.collection-search{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:center;padding:21px 24px;margin-bottom:20px;border:1px solid #e1d3b9;border-left:4px solid #ad7b39;border-radius:8px;background:linear-gradient(125deg,#fffdf8,#f8f0e2);box-shadow:0 4px 15px rgba(71,36,12,.04);scroll-margin-top:104px}
.collection-search h2,.collection-section-head h2{font:800 clamp(21px,2.25vw,29px)/1.4 var(--serif);margin:5px 0 5px;letter-spacing:.03em}
.collection-search p,.collection-section-head p{font-size:12px;line-height:1.8;margin:0;color:#645a50}
.collection-search-controls{min-width:0}
.collection-label{display:block;font:700 12px/1.4 var(--serif);margin-bottom:6px}
.collection-input-row{display:flex;align-items:center;gap:7px;background:#fff;border:1px solid #d7c19d;border-radius:5px;padding:2px 9px;min-height:45px;box-shadow:0 2px 9px rgba(35,20,7,.05)}
.collection-input-row:focus-within{border-color:#a57b37;outline:2px solid #dec7a0;outline-offset:2px}
.collection-input-row .collection-search-icon{color:#a57b37;font-size:27px;line-height:1;flex:none}
.collection-input-row input{border:0;outline:0;min-width:0;background:transparent;padding:7px 4px;font:500 14px/1.5 var(--sans);width:100%;color:#242019}
.collection-input-row input::placeholder{color:#8a847d;opacity:1}
.collection-input-row button{background:#f5e9d6;color:#795128;border:1px solid #dfc6a3;border-radius:4px;font-size:11px;padding:7px 9px;white-space:nowrap}
.collection-search-count{margin:7px 0 0!important;color:#96672e!important;font-weight:700}
.collection-navigation{margin-bottom:22px;scroll-margin-top:105px}
.collection-section-head{border-left:3px solid #b38b52;padding-left:13px;margin-bottom:13px}
.collection-nav-groups{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.collection-nav-group{background:#fffdf9;border:1px solid #e7d8bf;border-radius:6px;overflow:hidden;min-width:0;box-shadow:0 2px 10px rgba(60,35,10,.035)}
.collection-nav-group h3{padding:8px 12px;margin:0;background:#f2ebde;color:#785326;border-bottom:1px solid #e8dbca;font:800 13px/1.4 var(--serif)}
.collection-nav-links{display:flex;flex-wrap:wrap;gap:6px;padding:10px}
.collection-nav-links a{min-width:0;display:inline-flex;align-items:center;gap:5px;justify-content:center;padding:5px 8px;border:1px solid #e4d4bc;border-radius:4px;background:#fff;color:#413529;font:600 12px/1.5 var(--serif);transition:.15s}
.collection-nav-links a:hover,.collection-nav-links a:focus-visible{background:#a21c14;color:#fff;border-color:#a21c14}
.collection-nav-links small{font:700 10px/1.4 var(--sans);color:#9c7850}
.collection-nav-links a:hover small{color:#fff6ed}
.collection-region{padding-top:15px;padding-bottom:15px;margin-bottom:8px;scroll-margin-top:92px;border-bottom:1px solid #ddccac}
.collection-region-head{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 0 13px;margin-bottom:13px;border-bottom:1px solid #e4d7c0}
.collection-region-title{padding-left:14px;border-left:3px solid #b88c54}
.collection-region-title h2{font:800 clamp(21px,2.2vw,28px)/1.35 var(--serif);margin:3px 0}
.collection-region-title p{font-size:12px;color:#786b5d;margin:0;line-height:1.7}
.collection-region-count{display:flex;align-items:baseline;gap:3px;color:#a22019;white-space:nowrap}
.collection-region-count strong{font:800 26px/1 var(--serif)}
.collection-region-count span{font-size:12px}
.collection-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.collection-card{min-width:0;display:flex;flex-direction:column;align-items:stretch;text-align:left;padding:6px 6px 8px;border:1px solid #e3d8c5;border-radius:6px;background:#fffefa;box-shadow:0 2px 7px rgba(51,34,13,.04);color:#2b231b;transition:box-shadow .2s,border-color .2s,transform .2s;cursor:zoom-in;font:inherit}
.collection-card:hover{transform:translateY(-2px);border-color:#c9a46d;box-shadow:0 6px 15px rgba(73,42,12,.13)}
.collection-card-photo{height:185px;background:#f4f0e8;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:4px;position:relative}
.collection-card-photo img{width:100%;height:100%;object-fit:contain;object-position:center;display:block}
.collection-card-name{font:700 11.5px/1.55 var(--serif);display:block;padding:7px 3px 4px;overflow-wrap:anywhere;flex:1}
.collection-card-name small{display:block;color:#857567;font:500 10px/1.5 var(--serif)}
.collection-card-action{display:flex;align-items:center;justify-content:space-between;margin:0 3px;color:#9c6b35;font:700 10px/1.4 var(--serif);padding-top:5px;border-top:1px solid #eee3d1}
.collection-card-action span{font-family:var(--sans);font-size:12px}
.collection-special{padding:14px;margin-top:18px;background:linear-gradient(115deg,#f1ebe0,#fffdf8 44%,#f5ede2);border:1px solid #dbbd88;border-radius:6px}
.collection-special-head{margin-bottom:13px;padding-left:13px;border-left:3px solid #a91b15}
.collection-special-head h3{font:800 19px/1.5 var(--serif);margin:4px 0}
.collection-special-head p{max-width:900px;margin:0 0 6px;font:400 12px/1.85 var(--serif);color:#605446}
.collection-special-head a{display:inline-block;color:#a62217;font:700 12px/1.5 var(--serif);border-bottom:1px solid #ac8270;padding-bottom:2px}
.collection-grid-special .collection-card-photo{height:110px}
.collection-region-bottom{text-align:right;padding-top:13px}
.collection-region-bottom a{font:600 11px/1.5 var(--serif);color:#996932;text-decoration:underline;text-underline-offset:3px}
/* 長野県の御朱印一覧の下に表示する善光寺特集へのリンク */
.collection-region-bottom--feature{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.collection-region-bottom--feature .collection-feature-link{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:5px;background:#a92b20;color:#fff;text-decoration:none;font:700 13px/1.5 var(--serif);box-shadow:0 2px 7px rgba(96,43,24,.12);transition:background-color .2s}
.collection-region-bottom--feature .collection-feature-link:hover,.collection-region-bottom--feature .collection-feature-link:focus-visible{background:#7b1d17}
@media(max-width:600px){.collection-region-bottom--feature{gap:12px}.collection-region-bottom--feature .collection-feature-link{padding:10px 14px;font-size:12px}}

.collection-empty{padding:24px;text-align:center;background:#fff;border:1px solid #e9d9c2;border-radius:8px;margin-bottom:22px}
.collection-empty h2{font:700 18px/1.5 var(--serif);margin:0 0 8px}
.collection-empty p{font-size:12px;margin:0 0 12px}
.collection-empty button{font:700 12px/1.4 var(--serif);color:#fff;background:#9f1c16;border:0;border-radius:5px;padding:10px 16px}
.collection-more{background:#eae0cf url('../images/decor/seigaiha.svg') repeat-x bottom center/160px auto;border-top:1px solid #d8c6a8;padding-block:24px}
.collection-more-inner{display:flex;justify-content:space-between;align-items:center;gap:16px}
.collection-more h2{font:800 clamp(20px,2.3vw,28px)/1.4 var(--serif);margin:5px 0}
.collection-more p{font:400 12px/1.8 var(--serif);margin:0;color:#62584e}
.collection-more-links{display:flex;flex-wrap:wrap;gap:9px;justify-content:flex-end}
/* 御朱印拡大表示 */
.collection-dialog{max-width:min(980px,calc(100vw - 20px));width:min(900px,calc(100vw - 20px));max-height:calc(100dvh - 20px);padding:0;border:1px solid #d3bc93;border-radius:8px;background:#fbf8f1;box-shadow:0 20px 80px #0d0a07a8;overflow:hidden}
.collection-dialog::backdrop{background:#17130fdb;backdrop-filter:blur(3px)}
.collection-dialog-inner{height:100%;max-height:calc(100dvh - 20px);display:flex;flex-direction:column}
.collection-dialog-top{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-bottom:1px solid #e5d7c0;min-height:48px}
.collection-dialog-counter{font:700 12px/1.4 var(--serif);color:#8a714e}
.collection-dialog-close{border:1px solid #cbb389;background:#fff;border-radius:5px;padding:7px 12px;font:700 12px/1.5 var(--serif);color:#533921}
.collection-dialog-close span{font:700 16px/1 var(--sans);padding-left:5px}
.collection-dialog-photo{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;position:relative;padding:10px 45px;background:#f3eee5}
.collection-dialog-photo img{max-width:100%;max-height:calc(100dvh - 155px);height:auto;width:auto;object-fit:contain;background:#fff;box-shadow:0 2px 10px #3f271421}
.collection-dialog-photo button{position:absolute;top:50%;transform:translateY(-50%);z-index:2;border:1px solid #d7c5ad;border-radius:50%;width:36px;height:36px;background:#fff;color:#894019;font:700 28px/1 var(--serif)}
.collection-dialog-prev{left:6px}.collection-dialog-next{right:6px}
.collection-dialog-caption{font:700 13px/1.7 var(--serif);padding:10px 16px;text-align:center;margin:0;color:#392f26}
@media(max-width:1080px){.collection-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.collection-card-photo{height:172px}.collection-nav-groups{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:800px){.collection-hero-inner{grid-template-columns:1fr 1fr;gap:12px;min-height:290px;padding-block:22px}.collection-hero-art{height:260px}.collection-hero h1{font-size:30px}.collection-hero-description{font-size:12px}.collection-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.collection-card-photo{height:188px}.collection-nav-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.collection-search{grid-template-columns:1fr;gap:12px}.collection-special .collection-card-photo{height:140px}}
@media(max-width:600px){.collection-hero-inner{grid-template-columns:1fr;gap:5px;padding-block:18px}.collection-hero{background:linear-gradient(155deg,#fff8ec,#f3e1c5)}.collection-hero:before{width:145px;height:130px;opacity:.2}.collection-hero-copy{text-align:center}.collection-hero-intro{font-size:11px;margin:4px 0}.collection-hero h1{font-size:clamp(25px,7vw,34px);line-height:1.45;margin-bottom:7px}.collection-hero-description{font-size:12px;max-width:420px;margin-inline:auto;line-height:1.75;margin-bottom:11px}.collection-hero-actions{justify-content:center;gap:7px}.collection-hero-actions .button{min-height:38px;font-size:11px}.collection-hero-art{height:175px;max-width:380px;margin:auto}.collection-hero-stamp{height:78%;width:25%}.collection-hero-stamp-1{top:17%}.collection-hero-stamp-2{top:4%}.collection-hero-stamp-3{top:13%}.collection-hero-stamp-4{top:20%}.collection-hero-art-caption{display:none}.collection-overview{grid-template-columns:repeat(2,minmax(0,1fr));padding:8px 4px;margin-top:12px;margin-bottom:11px}.collection-overview>div{padding:7px 4px}.collection-overview>div:nth-child(2){border-right:0}.collection-overview>div:nth-child(-n+2){border-bottom:1px solid #eadfcd}.collection-overview strong{font-size:21px}.collection-overview div>span{font-size:10px}.collection-breadcrumb{margin-bottom:13px}.collection-search{padding:13px;border-left-width:3px;margin-bottom:17px;gap:8px}.collection-search h2,.collection-section-head h2{font-size:21px}.collection-navigation{margin-bottom:15px}.collection-nav-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.collection-nav-group h3{padding:7px 9px;font-size:12px}.collection-nav-links{padding:8px;gap:5px}.collection-nav-links a{font-size:11px;padding:5px 7px}.collection-region{padding-block:10px;margin-bottom:5px}.collection-region-head{padding-bottom:8px;margin-bottom:10px}.collection-region-title h2{font-size:21px}.collection-region-title p{font-size:11px}.collection-region-count strong{font-size:22px}.collection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.collection-card{padding:5px 5px 7px}.collection-card-photo{height:168px}.collection-card-name{font-size:11px;padding-top:5px}.collection-card-name small{font-size:9px}.collection-special{padding:9px;margin-top:12px}.collection-grid-special .collection-card-photo{height:100px}.collection-special-head h3{font-size:16px}.collection-special-head p{font-size:11px}.collection-more-inner{flex-direction:column;align-items:start;gap:12px}.collection-more-links{justify-content:flex-start}.collection-dialog-photo{padding:8px 36px}.collection-dialog-photo button{width:30px;height:30px;font-size:24px}.collection-dialog-caption{font-size:11px}.collection-dialog-top{padding:5px 8px}.collection-dialog-photo img{max-height:calc(100dvh - 125px)}}
@media(max-width:380px){.collection-grid .collection-card-photo{height:144px}.collection-grid-special .collection-card-photo{height:93px}.collection-nav-groups{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.collection-card{transition:none}.collection-card:hover{transform:none}}
