/*
Theme Name: 螺父攝影 Final
Theme URI: https://luofu-photography.com
Author: 螺父攝影
Description: Luo_fu_ Photography 電影感婚紗攝影完整品牌網站主題。
Version: 1.0.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: luofu-photography-final
*/

:root{
  --lf-bg:#0f0f0d;--lf-bg2:#171714;--lf-paper:#f4f0e8;--lf-muted:#b8b0a4;
  --lf-gold:#b99a6b;--lf-line:#3b372f;--lf-max:1440px
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--lf-bg);color:var(--lf-paper);font-family:"Noto Serif TC","Times New Roman",serif;line-height:1.85}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
button,input,textarea,select{font:inherit}
.lf-header{position:fixed;inset:0 0 auto;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:24px 5vw;background:linear-gradient(180deg,rgba(0,0,0,.72),transparent)}
.lf-brand{font-size:14px;letter-spacing:.16em;font-weight:700}
.lf-brand small{display:block;color:var(--lf-muted);font-size:10px;letter-spacing:.25em}
.lf-nav{display:flex;gap:25px;font-size:13px;letter-spacing:.06em}
.lf-nav a:hover{color:var(--lf-gold)}
.lf-menu-btn{display:none;background:transparent;color:var(--lf-paper);border:1px solid var(--lf-line);padding:8px 12px}
.lf-hero{min-height:100vh;padding:125px 6vw 85px;display:flex;align-items:flex-end;background-size:cover;background-position:center;position:relative}
.lf-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.84))}
.lf-hero-inner{position:relative;max-width:1000px}
.lf-kicker{color:var(--lf-gold);font-size:12px;letter-spacing:.28em;text-transform:uppercase}
.lf-hero h1{font-weight:500;font-size:clamp(52px,8vw,118px);line-height:.96;margin:17px 0 25px}
.lf-hero p{max-width:680px;font-size:18px;color:#eee}
.lf-button{display:inline-block;margin-top:27px;padding:13px 24px;border:1px solid var(--lf-paper);font-size:13px;letter-spacing:.08em;transition:.22s}
.lf-button:hover{background:var(--lf-paper);color:var(--lf-bg)}
.lf-section{padding:110px 6vw;max-width:var(--lf-max);margin:auto}
.lf-section.full{max-width:none}
.lf-grid2{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.lf-title{font-size:clamp(39px,5vw,72px);line-height:1.05;margin:12px 0 25px;font-weight:500}
.lf-copy{color:var(--lf-muted);font-size:17px;max-width:720px}
.lf-story-image{min-height:650px;background-size:cover;background-position:center}
.lf-project-grid,.luofu-project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.lf-project,.luofu-project-card{min-height:560px;position:relative;display:flex;align-items:flex-end;padding:28px;background-size:cover;background-position:center;overflow:hidden;border:1px solid var(--lf-line)}
.lf-project:before,.luofu-project-card:before{content:"";position:absolute;inset:0;background:linear-gradient(transparent,rgba(0,0,0,.8))}
.lf-project-content,.luofu-project-card>*{position:relative}
.lf-project h3,.luofu-project-card h3{font-size:29px;margin:0 0 5px}
.lf-project p,.luofu-project-card p{color:#ddd;margin:0}
.lf-services,.lf-pricing,.lf-reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.lf-card{border:1px solid var(--lf-line);background:#141412;padding:29px}
.lf-card h3{font-size:25px;margin:0 0 10px}
.lf-price{font-size:35px;color:var(--lf-gold);margin:12px 0}
.lf-card ul{padding-left:18px;color:var(--lf-muted)}
.lf-process{background:var(--lf-bg2)}
.lf-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}
.lf-step{border-top:1px solid var(--lf-line);padding-top:18px}
.lf-step small{color:var(--lf-gold)}
.lf-cta{text-align:center;padding:140px 6vw;background:var(--lf-bg2)}
.lf-cta h2{font-size:clamp(45px,7vw,92px);line-height:1.05;margin:12px 0 22px}
.lf-social{display:flex;gap:13px;justify-content:center;flex-wrap:wrap}
.lf-content{max-width:1080px;margin:auto;padding:145px 24px 90px;min-height:70vh}
.lf-content h1{font-size:clamp(40px,6vw,72px);line-height:1.1}
.lf-content h2{font-size:32px;margin-top:50px}
.lf-content p,.lf-content li{color:var(--lf-muted)}
.lf-contact-form{max-width:760px;margin:35px auto 0}
.lf-contact-form label{display:block;margin:0 0 16px;color:var(--lf-muted)}
.lf-contact-form input,.lf-contact-form textarea,.lf-contact-form select{width:100%;margin-top:7px;padding:13px;border:1px solid var(--lf-line);background:#10100f;color:var(--lf-paper)}
.lf-notice{padding:12px 15px;border:1px solid var(--lf-line);margin-bottom:18px}
.lf-notice.success{border-color:#5a916c;color:#9cd2ac}
.lf-notice.error{border-color:#a65e5e;color:#e4a3a3}
.lf-footer{padding:28px 6vw;border-top:1px solid var(--lf-line);display:flex;justify-content:space-between;color:var(--lf-muted);font-size:12px}
.lf-cookie{position:fixed;z-index:9999;left:20px;right:20px;bottom:20px;max-width:760px;margin:auto;padding:18px;background:#151513;border:1px solid var(--lf-line);display:none}
.lf-cookie.show{display:flex;gap:18px;align-items:center;justify-content:space-between}
.lf-cookie button{background:var(--lf-paper);color:var(--lf-bg);border:0;padding:10px 16px}
@media(max-width:900px){
 .lf-header{padding:18px 22px;background:rgba(15,15,13,.95)}
 .lf-menu-btn{display:block}.lf-nav{display:none;position:absolute;top:69px;left:0;right:0;background:#111;padding:20px 22px;flex-direction:column}.lf-nav.open{display:flex}
 .lf-hero{min-height:84vh;padding:110px 24px 60px}.lf-section{padding:75px 24px}
 .lf-grid2,.lf-project-grid,.luofu-project-grid,.lf-services,.lf-pricing,.lf-reviews,.lf-steps{grid-template-columns:1fr}
 .lf-story-image{min-height:430px}.lf-project,.luofu-project-card{min-height:470px}.lf-footer{display:block;padding:24px}
 .lf-cookie.show{display:block}.lf-cookie button{margin-top:12px}
}

/* Hover-only desktop dropdowns; nested links stay visible inside the mobile menu. */
@media (min-width:901px){
  .lf-nav>li{position:relative;list-style:none}
  .lf-nav>li>ul,.lf-nav .sub-menu{display:none;position:absolute;top:100%;left:0;z-index:250;min-width:220px;margin:0;padding:12px 0;background:rgba(15,15,13,.98);border:1px solid var(--lf-line);box-shadow:0 16px 34px rgba(0,0,0,.35)}
  .lf-nav>li:hover>ul,.lf-nav>li:focus-within>ul,.lf-nav .menu-item-has-children:hover>.sub-menu,.lf-nav .menu-item-has-children:focus-within>.sub-menu{display:block}
  .lf-nav .sub-menu li{display:block;list-style:none;margin:0}
  .lf-nav .sub-menu a{display:block;padding:8px 18px;white-space:nowrap}
}
@media (max-width:900px){
  .lf-nav>li,.lf-nav .sub-menu li{list-style:none}
  .lf-nav>li>ul,.lf-nav .sub-menu{position:static;display:block;margin:6px 0 8px;padding:0 0 0 16px;border:0;background:transparent;box-shadow:none}
  .lf-nav .sub-menu a{display:block;padding:5px 0}
}
