/*
Theme Name: 台灣普濟禪寺・網站佈景
Author: 台灣普濟禪寺網站專案
Description: 台灣普濟禪寺專用 WordPress RWD 佈景主題。宗教版核心、LINE 與獨立求籤模組採分離架構；Theme 僅負責視覺、版面與服務入口。
Version: 1.4.8
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: puji-temple-theme
Tags: custom-menu, featured-images, theme-options, e-commerce, blog, one-column, responsive-layout
*/

:root{
  --puji-red:#931714;--puji-red-dark:#70100e;--puji-gold:#b98943;--puji-gold-2:#d8ba80;
  --puji-ink:#201d1a;--puji-muted:#756a60;--puji-paper:#fcfbf8;--puji-soft:#f7f3ec;
  --puji-line:#eadfce;--puji-white:#fff;--puji-shadow:0 14px 36px rgba(49,31,11,.08);
  --container:1240px;--radius:18px
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--puji-paper);color:var(--puji-ink);font-family:"Noto Serif TC","PingFang TC","Microsoft JhengHei",serif;line-height:1.72;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{color:var(--puji-red)}img{max-width:100%;height:auto;display:block}button,input,textarea,select{font:inherit}.container{width:min(calc(100% - 34px),var(--container));margin-inline:auto}.site{min-height:100vh;display:flex;flex-direction:column}.site-main{flex:1}.screen-reader-text{position:absolute;left:-9999px}

/* Top bar + header */
.topbar{background:linear-gradient(90deg,var(--puji-red-dark),var(--puji-red));color:#fff7f2;font-size:13px}.topbar__inner{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:7px 0}.topbar__meta,.topbar__links{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.topbar__meta span,.topbar__links a{opacity:.96}.topbar__meta .address::before{content:"●";font-size:7px;margin-right:7px}.topbar__meta .phone::before{content:"☎";margin-right:7px}.topbar__meta .hours::before{content:"◷";margin-right:7px}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid rgba(185,137,67,.2);backdrop-filter:blur(10px)}.header-main{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:15px 0}.branding{min-width:240px}.site-title{margin:0;line-height:1;font-size:clamp(30px,3vw,44px);letter-spacing:.04em;font-family:"BiauKai","DFKai-SB","KaiTi","STKaiti",serif;font-weight:700}.site-title a{color:#171410}.site-tagline{margin:6px 0 0;color:#8c7458;font-size:12px;letter-spacing:.22em}.primary-nav{display:flex;align-items:center;gap:12px}.primary-menu{list-style:none;padding:0;margin:0;display:flex;gap:3px;align-items:center;flex-wrap:wrap}.primary-menu a{display:block;padding:9px 11px;border-radius:99px;font-size:14px;font-weight:600;color:#4c433b}.primary-menu a:hover,.primary-menu .current-menu-item>a{background:#f7f0e6;color:var(--puji-red)}.header-actions{display:flex;gap:7px;align-items:center}.line-btn,.search-trigger{display:grid;place-items:center;border:1px solid var(--puji-line);background:#fff;border-radius:99px;height:39px}.line-btn{padding:0 13px;color:var(--puji-red);font-size:12px;font-weight:700}.search-trigger{width:39px;font-size:22px}.menu-toggle{display:none;border:0;background:transparent;padding:10px;color:var(--puji-red)}.menu-toggle__bars{display:block;width:22px;height:2px;background:currentColor;box-shadow:0 -7px currentColor,0 7px currentColor}

/* Hero: desktop text is deliberately kept in a left-side safety zone */
.hero{padding:18px 0 0}.hero__card{position:relative;min-height:500px;border-radius:22px;overflow:hidden;background:#fff;box-shadow:var(--puji-shadow);border:1px solid #eee4d7}.hero__media{position:absolute;inset:0;background-size:cover;background-position:center right}.hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.91) 22%,rgba(255,255,255,.48) 40%,rgba(255,255,255,.03) 61%)}.hero__content{position:relative;z-index:2;width:min(43%,480px);padding:68px 0 64px 52px}.eyebrow{display:inline-block;color:var(--puji-red);font-size:12px;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.eyebrow--gold{color:var(--puji-gold)}.hero__title{font-size:clamp(40px,4.5vw,66px);line-height:1.18;margin:13px 0 8px;letter-spacing:.05em}.hero__subtitle{font-size:20px;margin:0 0 18px;color:#52483f}.hero__desc{max-width:420px;color:#6d6258;margin:0 0 26px}.button-group{display:flex;gap:10px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 20px;border-radius:999px;border:1px solid transparent;font-weight:700;font-size:14px}.btn--primary{background:linear-gradient(180deg,#a61d19,var(--puji-red));color:#fff;box-shadow:0 7px 18px rgba(147,23,20,.18)}.btn--primary:hover{color:#fff;background:var(--puji-red-dark)}.btn--secondary{background:#fff;color:var(--puji-red);border-color:#d7b98e}.btn--secondary:hover{background:#f9f3ea;color:var(--puji-red-dark)}

/* Quick services - an information band, not the whole homepage */
.service-panel{position:relative;z-index:3;margin-top:-34px;padding-bottom:18px}.service-panel__head{display:flex;align-items:center;justify-content:center;gap:14px;margin-bottom:10px}.service-panel__head span{height:1px;width:50px;background:var(--puji-gold-2)}.service-panel__head h2{font-size:20px;margin:0;color:#493d32}.service-grid{display:grid;grid-template-columns:repeat(8,1fr);background:#fff;border:1px solid var(--puji-line);border-radius:18px;overflow:hidden;box-shadow:var(--puji-shadow)}.service-card{min-height:116px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:15px 8px;border-right:1px solid var(--puji-line);transition:.2s}.service-card:last-child{border-right:0}.service-card:hover{background:#fdf9f3;transform:translateY(-1px)}.service-icon{width:36px;height:36px;color:var(--puji-gold);display:grid;place-items:center;margin-bottom:6px}.service-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.service-card h3{font-size:15px;margin:0 0 2px}.service-card p{font-size:11px;color:#8a7b6c;margin:0}

/* Generic sections */
.section{padding:48px 0}.section:nth-of-type(even){background:rgba(248,244,237,.45)}.section__head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:19px}.section__title{font-size:clamp(25px,2.4vw,34px);line-height:1.25;margin:0 0 7px;letter-spacing:.04em}.section__meta{margin:0;color:var(--puji-muted);font-size:14px}.section__link{font-size:13px;color:var(--puji-red);white-space:nowrap}.news-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.card{background:#fff;border:1px solid var(--puji-line);border-radius:15px;overflow:hidden;box-shadow:0 9px 26px rgba(51,31,10,.04)}.card__image{display:block;aspect-ratio:1.55;background-size:cover;background-position:center}.card__body{padding:15px}.card__date{color:var(--puji-red);font-size:11px;font-weight:700}.card__title{font-size:17px;line-height:1.45;margin:5px 0 6px}.card__text{font-size:13px;color:#776c62;margin:0}

/* About */
.about-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:0;align-items:stretch;background:#fff;border:1px solid var(--puji-line);border-radius:18px;overflow:hidden}.about-copy{padding:42px 46px;position:relative}.about-copy::after{content:"蓮";position:absolute;right:28px;bottom:12px;color:rgba(185,137,67,.08);font-size:120px;font-family:serif}.about-copy p{color:#6c6158}.list-check{list-style:none;padding:0;margin:20px 0 24px}.list-check li{position:relative;padding-left:27px;margin:8px 0}.list-check li::before{content:"●";position:absolute;left:4px;top:1px;color:var(--puji-gold);font-size:9px}.about-image{min-height:390px;background-size:cover;background-position:center}

/* Feature content */
.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}.feature-card{border:1px solid var(--puji-line);background:#fff;border-radius:15px;overflow:hidden}.feature-card__image{aspect-ratio:1.55;background-size:cover;background-position:center}.feature-card__body{padding:17px}.feature-card h3{margin:0 0 6px;font-size:19px}.feature-card p{margin:0 0 14px;font-size:13px;color:#776c62}.feature-card .btn{min-height:36px;padding:7px 14px;font-size:12px}

/* Fortune highlighted section */
.section--fortune{background:#f8f2e8!important}.fortune-feature{display:grid;grid-template-columns:1.05fr .95fr;background:#fff;border:1px solid var(--puji-line);border-radius:20px;overflow:hidden}.fortune-feature__image{min-height:440px;background-size:cover;background-position:center}.fortune-feature__copy{padding:44px}.fortune-feature__copy p{color:#6f645a}.mini-steps{list-style:none;padding:0;margin:24px 0;display:grid;gap:9px}.mini-steps li{display:flex;align-items:center;gap:11px;font-size:14px}.mini-steps span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#f3e4cf;color:var(--puji-red);font-size:12px;font-weight:700}

/* Visit */
.info-grid{display:grid;grid-template-columns:.9fr 1.1fr;border:1px solid var(--puji-line);background:#fff;border-radius:18px;overflow:hidden}.info-panel{padding:40px}.info-list{list-style:none;padding:0;margin:18px 0 24px}.info-list li{margin:8px 0;color:#5f554c}.map-panel{background:#f4efe7;padding:24px;display:flex}.map-box{position:relative;flex:1;min-height:300px;border-radius:15px;background:linear-gradient(135deg,#edf1eb,#f8f4ea);display:grid;place-items:center;text-align:center;overflow:hidden;border:1px solid #e2d8c8}.map-box::before,.map-box::after{content:"";position:absolute;inset:-20%;background:repeating-linear-gradient(25deg,transparent 0 28px,rgba(115,139,129,.13) 29px 31px)}.map-box::after{transform:rotate(70deg)}.map-pin{position:relative;z-index:2;background:var(--puji-red);color:#fff;padding:9px 14px;border-radius:999px;box-shadow:0 8px 20px rgba(147,23,20,.2)}.map-box small{position:absolute;z-index:2;bottom:18px;color:#6e675e;background:rgba(255,255,255,.8);padding:5px 9px;border-radius:8px}

/* Footer */
.site-footer{background:linear-gradient(115deg,#7a100e,#a41915);color:#fff8f2;margin-top:30px}.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:36px;padding:42px 0 30px}.footer-brand h2{font-family:"BiauKai","DFKai-SB","KaiTi",serif;font-size:32px;margin:0 0 10px}.footer-brand p,.footer-col p,.footer-col a{color:#f3dcd2;font-size:13px}.footer-col h3{font-size:15px;margin:0 0 10px;color:#fff}.footer-col ul{list-style:none;padding:0;margin:0}.footer-col li{margin:6px 0}.footer-bottom{border-top:1px solid rgba(255,255,255,.18);padding:13px 0 18px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#efcfc4}.mobile-bottom-nav{display:none}

/* Inner WordPress pages */
.entry-shell{width:min(calc(100% - 34px),920px);margin:36px auto}.entry-card{background:#fff;border:1px solid var(--puji-line);border-radius:18px;padding:32px}.page-header{margin-bottom:24px}.entry-title{font-size:clamp(28px,3vw,42px)}.post-list{display:grid;gap:16px}.post-item{background:#fff;border:1px solid var(--puji-line);border-radius:14px;padding:20px}.post-item h2{margin-top:0}.post-meta{font-size:12px;color:var(--puji-muted)}

/* Make Puji Core pages visually continuous with the theme */
.puji-ritual-page,.puji-form-wrap,.puji-tool-wrap,.puji-contact-box{font-family:inherit}.puji-ritual-page{width:min(calc(100% - 34px),var(--container));margin:28px auto 50px}.puji-ritual-hero{border-radius:20px;overflow:hidden;border:1px solid var(--puji-line);box-shadow:var(--puji-shadow)}

@media(max-width:1100px){
  .branding{min-width:210px}.primary-menu a{padding:8px 8px;font-size:13px}.header-actions{display:none}.service-grid{grid-template-columns:repeat(4,1fr)}.service-card:nth-child(4n){border-right:0}.service-card:nth-child(-n+4){border-bottom:1px solid var(--puji-line)}.news-grid,.feature-grid{grid-template-columns:repeat(2,1fr)}.hero__content{width:48%}.footer-grid{grid-template-columns:1.2fr repeat(3,1fr);gap:20px}
}

@media(max-width:760px){
  body{padding-bottom:66px}.container{width:min(calc(100% - 24px),var(--container))}.topbar{display:none}.site-header{position:sticky;top:0}.header-main{padding:12px 0}.branding{min-width:0}.site-title{font-size:29px}.site-tagline{display:none}.menu-toggle{display:block}.primary-nav{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;border-bottom:1px solid var(--puji-line);padding:12px 18px 18px;box-shadow:0 15px 25px rgba(0,0,0,.08)}.primary-nav.is-open{display:block}.primary-menu{display:block}.primary-menu a{padding:11px 8px;border-bottom:1px solid #f2ece3;border-radius:0}.header-actions{display:flex;margin-top:12px}.hero{padding-top:10px}.hero__card{min-height:0;border-radius:16px;display:flex;flex-direction:column}.hero__media{position:relative;order:2;inset:auto;height:300px;background-position:center 42%}.hero__media::after{display:none}.hero__content{order:1;width:auto;padding:26px 24px 23px;background:#fff}.hero__title{font-size:37px;margin-top:8px}.hero__subtitle{font-size:16px;margin-bottom:10px}.hero__desc{font-size:13px;margin-bottom:18px}.eyebrow{font-size:10px}.service-panel{margin-top:14px;padding-bottom:0}.service-panel__head{margin-bottom:8px}.service-grid{grid-template-columns:repeat(4,1fr);border-radius:14px}.service-card{min-height:90px;padding:10px 3px;border-bottom:1px solid var(--puji-line)}.service-card:nth-child(4n){border-right:0}.service-card:nth-child(n+5){border-bottom:0}.service-icon{width:29px;height:29px;margin-bottom:4px}.service-card h3{font-size:11px;line-height:1.25}.service-card p{display:none}.section{padding:33px 0}.section__head{align-items:center;margin-bottom:14px}.section__title{font-size:25px}.section__meta{display:none}.news-grid{display:block}.news-grid .card{display:none}.news-grid .card:first-child{display:grid;grid-template-columns:118px 1fr}.news-grid .card:first-child .card__image{aspect-ratio:auto;min-height:132px}.news-grid .card:first-child .card__body{padding:13px}.news-grid .card:first-child .card__title{font-size:15px}.news-grid .card:first-child .card__text{font-size:11px}.about-grid{grid-template-columns:1fr;border-radius:15px}.about-copy{padding:28px 23px}.about-copy::after{font-size:80px}.about-image{min-height:270px;order:-1}.feature-grid{grid-template-columns:1fr;gap:12px}.feature-card{display:grid;grid-template-columns:120px 1fr;min-height:135px}.feature-card__image{aspect-ratio:auto;min-height:135px}.feature-card__body{padding:13px}.feature-card h3{font-size:16px}.feature-card p{font-size:11px;margin-bottom:9px}.feature-card .btn{min-height:32px;padding:5px 12px}.fortune-feature{grid-template-columns:1fr}.fortune-feature__image{min-height:260px}.fortune-feature__copy{padding:28px 23px}.info-grid{grid-template-columns:1fr}.info-panel{padding:27px 23px}.map-panel{padding:14px}.map-box{min-height:230px}.footer-grid{grid-template-columns:1fr 1fr;padding:30px 0 24px}.footer-brand{grid-column:1/-1}.footer-bottom{display:block;padding-bottom:18px}.footer-bottom span{display:block;margin:4px 0}.mobile-bottom-nav{display:grid;position:fixed;left:0;right:0;bottom:0;z-index:90;grid-template-columns:repeat(auto-fit,minmax(0,1fr));height:64px;background:rgba(255,255,255,.98);border-top:1px solid var(--puji-line);box-shadow:0 -5px 20px rgba(46,25,7,.08)}.mobile-bottom-nav a{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1px;color:#6e6257}.mobile-bottom-nav a:hover{color:var(--puji-red)}.mobile-bottom-nav span{font-size:15px;font-weight:700;line-height:1}.mobile-bottom-nav small{font-size:9px}.entry-shell{width:min(calc(100% - 24px),920px);margin:22px auto}.entry-card{padding:20px}.puji-ritual-page{width:min(calc(100% - 20px),var(--container));margin:16px auto 30px}
}

@media(max-width:390px){.site-title{font-size:25px}.hero__media{height:265px}.hero__title{font-size:33px}.service-card h3{font-size:10px}.service-grid{border-radius:12px}.news-grid .card:first-child{grid-template-columns:105px 1fr}}
