/*
Theme Name: 權志龍魚屋 · KWON G'S
Author: KWONG’S Restaurant Web Team
Description: 權志龍魚屋專屬繁體中文餐廳品牌網站。支援 WooCommerce、WordPress 文章、網站自訂器，無付費主題依賴。
Version: 1.1.0
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: kwongs-dragonfish
License: GPL-2.0-or-later
*/
:root{--ink:#142b29;--ink2:#223e39;--deep:#102825;--gold:#b89056;--goldlight:#ddbc80;--paper:#f8f5ee;--white:#fffefa;--muted:#66716d;--line:#e7dfd1;--radius:16px;--serif:"Noto Serif TC","Songti TC","PMingLiU",serif;--sans:-apple-system,BlinkMacSystemFont,"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.85}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}button,input,textarea{font:inherit}.container{width:min(1160px,calc(100% - 48px));margin-inline:auto}.screen-reader-text{position:absolute;clip:rect(1px,1px,1px,1px);height:1px;width:1px;overflow:hidden}.screen-reader-text:focus{position:static;width:auto;height:auto;clip:auto}.skip-link:focus{position:fixed;top:8px;left:8px;z-index:200;background:white;padding:8px}.announcement{background:#b99765;color:#102723;text-align:center;font-size:12px;letter-spacing:2px;padding:6px 15px;font-weight:650}.site-header{position:sticky;top:0;z-index:100;background:rgba(250,248,242,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(16,40,37,.09)}.header-inner{height:82px;display:flex;align-items:center;gap:24px}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;min-width:222px}.brand-mark{border:1.5px solid var(--gold);color:var(--gold);border-radius:50%;width:49px;height:49px;display:grid;place-items:center;font:600 23px var(--serif);background:var(--ink)}.brand-text{display:flex;flex-direction:column;line-height:1.35}.brand-main{font:700 19px var(--serif);letter-spacing:2px}.brand-sub{color:#8e724e;font-size:9px;font-weight:600;letter-spacing:1.8px}.custom-logo-link img{width:54px;max-height:60px;object-fit:contain}.site-nav{display:flex;align-items:center;gap:25px;margin-left:auto}.site-nav ul{display:flex;gap:25px;align-items:center;list-style:none;padding:0;margin:0}.site-nav a{font-size:13px;font-weight:600;letter-spacing:.06em;white-space:nowrap}.site-nav a:hover,.site-nav .current-menu-item>a{color:#ae8852}.header-actions{display:flex;gap:9px;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:10px 22px;border:1px solid transparent;cursor:pointer;font-size:13px;font-weight:700;letter-spacing:1.4px;transition:background .2s,transform .2s}.btn:hover{transform:translateY(-2px)}.btn-gold{background:var(--gold);color:#fff}.btn-gold:hover{background:#a67c43}.btn-ink{background:var(--ink);color:#fff}.btn-outline{border-color:rgba(245,245,238,.8);color:#fff}.btn-outline:hover{background:rgba(255,255,255,.09)}.btn-line{border-color:var(--ink);color:var(--ink)}.menu-toggle{display:none;border:1px solid #d8cfbd;background:transparent;padding:10px;border-radius:4px;width:44px;height:44px;cursor:pointer}.menu-toggle span{display:block;height:2px;background:var(--ink);margin:5px 2px}.eyebrow{display:block;color:var(--gold);font-size:12px;font-weight:700;letter-spacing:3px;text-transform:uppercase}.title-serif{font:600 clamp(32px,4vw,52px)/1.45 var(--serif);letter-spacing:2px;margin:12px 0 18px}.section{padding:100px 0}.section-head{margin-bottom:40px;display:flex;justify-content:space-between;align-items:end;gap:25px}.section-head p{max-width:480px;color:var(--muted);margin:0}.section-title{font:600 clamp(28px,3vw,40px)/1.5 var(--serif);letter-spacing:2px;margin:12px 0 0}.hero{min-height:640px;background:radial-gradient(circle at 83% 30%,#35534c 0%,transparent 32%),linear-gradient(130deg,#0c2825,#183630 65%,#2a3d35);color:#fff;position:relative;overflow:hidden}.hero::before{content:"";position:absolute;inset:30px 30px;border:1px solid rgba(220,182,115,.22);pointer-events:none}.hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;min-height:640px;align-items:center;gap:46px}.hero .eyebrow{color:var(--goldlight)}.hero h1{font:600 clamp(43px,5vw,67px)/1.55 var(--serif);letter-spacing:4px;margin:24px 0}.hero h1 em{font-style:normal;color:var(--goldlight)}.hero p{color:#d7dfd8;max-width:510px;font-size:16px;line-height:2.2}.hero-ctas{display:flex;gap:13px;flex-wrap:wrap;margin-top:34px}.hero-visual{align-self:stretch;position:relative;display:flex;align-items:center;justify-content:center;padding:64px 10px}.hero-visual-inner{position:relative;width:min(415px,100%);aspect-ratio:4/5;display:flex;align-items:center;justify-content:center;border:1px solid rgba(213,176,116,.45);background:radial-gradient(circle,#45645b44,transparent 65%),linear-gradient(150deg,#20413b,#132923);box-shadow:0 30px 90px #081c1a88}.hero-visual-inner::before,.hero-visual-inner::after{content:"";position:absolute;width:80px;height:80px;border:1px solid var(--gold);opacity:.56}.hero-visual-inner::before{top:-14px;left:-14px;border-right:0;border-bottom:0}.hero-visual-inner::after{right:-14px;bottom:-14px;border-top:0;border-left:0}.hero-image{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;filter:brightness(.8)}.hero-art{width:78%;height:auto;color:#c9ab74;opacity:.92;z-index:1}.hero-stamp{z-index:1;position:absolute;bottom:30px;right:22px;color:#eee2cd;font-size:11px;letter-spacing:3px;writing-mode:vertical-rl}.hero-scroll{position:absolute;bottom:26px;left:0;font-size:10px;color:#c1b398;letter-spacing:3px}.ticker{background:#e8dfd0;padding:18px 0;text-align:center;color:#39534b;letter-spacing:3px;font-size:12px;font-weight:700}.ticker span{margin:0 21px}.split{display:grid;grid-template-columns:1fr 1fr;gap:76px;align-items:center}.copy p{color:var(--muted);line-height:2.25;margin:0 0 20px}.photo-frame{min-height:460px;background:linear-gradient(135deg,#36504a,#122d29);position:relative;display:grid;place-items:center;color:#dfc497;overflow:hidden}.photo-frame::after{content:"";position:absolute;inset:17px;border:1px solid rgba(227,206,154,.5)}.photo-frame span{position:relative;z-index:1;font:500 27px var(--serif);letter-spacing:7px;text-align:center}.photo-frame img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover}.photo-caption{position:absolute;bottom:26px;right:30px;font-size:11px;letter-spacing:2px;color:#e9dec9;z-index:1}.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.feature-card{background:#fffdfa;border:1px solid var(--line);min-height:285px;padding:36px 30px;position:relative;display:flex;flex-direction:column}.feature-index{color:#b99661;font-family:Georgia,serif;font-size:38px;font-weight:400;line-height:1}.feature-card h3{font:600 24px var(--serif);letter-spacing:2px;margin:26px 0 10px}.feature-card p{font-size:14px;color:var(--muted);line-height:2;margin:0}.feature-card .feature-more{font-size:12px;font-weight:700;margin-top:auto;padding-top:25px;color:#a47a46;letter-spacing:1px}.section-dark{background:var(--deep);color:white}.section-dark .section-head p,.section-dark .copy p{color:#ced6d0}.menu-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.menu-tile{border:1px solid #486158;background:linear-gradient(145deg,#25423b,#17322d);min-height:320px;display:flex;flex-direction:column;justify-content:end;padding:28px;position:relative;overflow:hidden}.menu-tile::before{content:"";height:190px;width:190px;border:1px solid #a58c604d;border-radius:50%;position:absolute;top:-60px;right:-48px}.menu-tile .number{position:absolute;top:25px;left:28px;font-family:Georgia,serif;color:#c2a773}.menu-tile h3{font:600 24px var(--serif);letter-spacing:2px;margin:0 0 9px}.menu-tile p{color:#d7ddd4;font-size:13px;line-height:1.9;margin:0}.menu-tile a{display:inline-block;color:#d9be8c;margin-top:22px;font-size:12px;letter-spacing:2px}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.service-item{border-top:1px solid #cbb58d;padding:22px 10px 8px}.service-item .service-icon{font-size:23px;color:#a68554}.service-item h3{font:600 21px var(--serif);margin:15px 0}.service-item p{color:var(--muted);font-size:13px;margin:0;line-height:2}.store-section{background:#eee9dd}.store-banner{border:1px solid #d9cdb7;background:#fffaf1;display:grid;grid-template-columns:1fr .85fr;gap:30px;align-items:center;padding:42px 55px}.store-banner h3{font:600 32px var(--serif);margin:12px 0}.store-banner p{color:var(--muted);font-size:14px}.shop-illustration{min-height:230px;display:grid;place-items:center;border:1px solid #dcc7a4;background:radial-gradient(circle,#eddbb9 0,transparent 59%),#efe5d3;color:#87704e}.shop-illustration span{font:500 30px var(--serif);letter-spacing:7px}.post-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.post-card{background:white;border:1px solid var(--line);padding:26px;min-height:255px;display:flex;flex-direction:column}.post-card time{color:#a47f4e;font-size:12px;letter-spacing:1px}.post-card h3{font:600 22px/1.55 var(--serif);letter-spacing:1px;margin:17px 0 11px}.post-card p{color:var(--muted);font-size:13px;line-height:1.9}.post-card .read-more{font-size:12px;color:#9f763d;margin-top:auto;padding-top:15px;font-weight:700}.contact-band{background:#c3a06e;color:#132c26;padding:55px 0}.contact-band .container{display:flex;align-items:center;justify-content:space-between;gap:30px}.contact-band h2{font:600 35px var(--serif);margin:0 0 8px}.contact-band p{margin:0}.site-footer{background:#0c2623;color:#e7e6d9;padding:66px 0 27px}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:70px;padding-bottom:48px;border-bottom:1px solid #446056}.footer-brand{font:600 25px var(--serif);letter-spacing:2px}.footer-sub{color:#bba06f;letter-spacing:2px;font-size:10px}.site-footer h3{font-size:14px;letter-spacing:2px;margin:0 0 20px;color:#d2b17c}.site-footer p,.site-footer a{font-size:13px;color:#d9dfd9;line-height:2.1}.footer-links{display:grid;grid-template-columns:repeat(2,1fr);gap:5px}.footer-links a:hover{color:#e4c68d}.footer-bottom{display:flex;justify-content:space-between;gap:15px;padding-top:25px;color:#91aaa1;font-size:11px}.page-hero{background:#132e29;color:white;padding:75px 0 72px;text-align:center}.page-hero h1{font:600 clamp(36px,4vw,52px) var(--serif);letter-spacing:3px;margin:18px 0 3px}.page-hero p{color:#bdcfc2}.entry-body{max-width:950px;margin:0 auto;line-height:2.1}.entry-body h2{font:600 30px var(--serif);margin:42px 0 20px}.entry-body h3{font:600 23px var(--serif);margin:30px 0 16px}.entry-body p{color:#546660}.entry-body a{text-decoration:underline;text-underline-offset:4px}.entry-body ul{padding-left:22px}.entry-body .wp-block-columns{gap:30px}.entry-body figure{margin:20px 0}.entry-body blockquote{border-left:3px solid var(--gold);padding-left:20px;margin-left:0}.entry-body .wp-block-button__link{background:var(--ink);border-radius:0;text-decoration:none}.article-list{display:grid;grid-template-columns:repeat(2,1fr);gap:25px}.article-list article{background:#fffdf7;padding:32px;border:1px solid var(--line)}.article-list h2{font:600 24px var(--serif);margin:10px 0}.article-list p{color:var(--muted)}.pagination{margin:38px 0}.pagination .page-numbers{display:inline-block;padding:6px 13px;background:#fff;margin:3px}.pagination .current{background:var(--ink);color:#fff}.post-meta{font-size:12px;letter-spacing:1px;color:#bcaa8b}.entry-body .alignwide{max-width:1100px}.woocommerce .products li.product{background:#fff;padding:14px!important;border:1px solid var(--line)}.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.woocommerce .button.alt{background:var(--ink)!important;color:white!important;border-radius:0!important}.woocommerce a.button:hover,.woocommerce button.button:hover{background:#b38b52!important;color:#fff!important}.woocommerce .woocommerce-breadcrumb{font-size:12px}.woo-wrap{padding:70px 0}.customizer-hint{border:1px dashed #b4a586;padding:20px;font-size:13px;color:#826b49}.wp-block-image img{display:block}.wp-block-quote p{font-size:24px}.menu-entry-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.menu-entry{background:white;border:1px solid var(--line);padding:28px}.menu-entry h3{margin:0 0 8px}.menu-entry p{margin:0}.contact-panel{background:white;border:1px solid var(--line);padding:30px}.contact-panel a{text-decoration:none}.contact-panel a:hover{text-decoration:underline}.notice{background:#ede6d8;padding:20px;border-left:3px solid var(--gold)}
@media(max-width:1050px){.site-nav{gap:12px}.site-nav ul{gap:14px}.brand{min-width:180px}.header-actions .btn{padding:9px 15px}.hero-grid{gap:20px}.split{gap:35px}}
@media(max-width:840px){.header-inner{height:73px}.site-nav{position:absolute;display:none;top:73px;left:0;width:100%;background:#fdfaf3;padding:15px 24px 25px;box-shadow:0 20px 30px #15292315;margin:0}.site-nav.open{display:block}.site-nav ul{display:flex;flex-direction:column;align-items:stretch;gap:0}.site-nav li{border-bottom:1px solid #e8dfcf;padding:10px 0}.menu-toggle{display:block;margin-left:auto}.header-actions{margin-left:0}.header-actions .btn{display:none}.hero-grid{grid-template-columns:1fr;gap:0;padding:66px 0 80px}.hero{min-height:0}.hero::before{inset:18px}.hero-visual{padding:40px 50px 0}.hero-visual-inner{max-width:400px;aspect-ratio:1.4}.hero-scroll{display:none}.split{grid-template-columns:1fr}.feature-grid,.menu-grid,.post-grid{grid-template-columns:1fr 1fr}.services-grid{grid-template-columns:1fr 1fr}.store-banner{padding:34px}.footer-grid{grid-template-columns:1fr 1fr;gap:35px}.footer-grid>div:first-child{grid-column:1/-1}.contact-band .container{flex-direction:column;text-align:center}.section{padding:72px 0}}
@media(max-width:590px){.container{width:calc(100% - 36px)}.brand-mark{height:42px;width:42px;font-size:20px}.brand-main{font-size:17px}.brand-sub{font-size:7px}.brand{min-width:0}.hero h1{font-size:39px;letter-spacing:2px}.hero p{font-size:14px}.hero-visual{padding:45px 28px 0}.hero-visual-inner{aspect-ratio:1.05}.section{padding:60px 0}.section-head{display:block}.section-head p{margin-top:18px}.feature-grid,.menu-grid,.post-grid,.article-list,.menu-entry-grid{grid-template-columns:1fr}.feature-card{min-height:220px}.menu-tile{min-height:240px}.services-grid{gap:24px}.service-item h3{font-size:18px}.store-banner{grid-template-columns:1fr;padding:30px 22px}.store-banner h3{font-size:28px}.shop-illustration{min-height:180px}.ticker{font-size:11px}.ticker span{display:inline-block;margin:2px 8px}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.footer-bottom{flex-direction:column}.page-hero{padding:55px 0}.contact-band h2{font-size:28px}.photo-frame{min-height:340px}}
