/*
Theme Name: Gift Photo Light Flat
Theme URI: https://giftphotolight.com/
Author: MechValue
Author URI: https://giftphotolight.com/
Description: φ100円形リトファン専門店 Gift Photo Light 向けのWooCommerce対応クラシックテーマ。
Version: 3.7.1
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 8.0
Text Domain: gift-photo-light-flat
License: GNU General Public License v2 or later
*/

:root {
  --gpl-bg: #f8f5ef;
  --gpl-surface: #ffffff;
  --gpl-text: #26221e;
  --gpl-muted: #6f675f;
  --gpl-line: #ded6cc;
  --gpl-accent: #9e7652;
  --gpl-accent-dark: #735236;
  --gpl-dark: #211c18;
  --gpl-radius: 18px;
  --gpl-shadow: 0 18px 50px rgba(48, 37, 27, .10);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--gpl-bg);
  color: var(--gpl-text);
  font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic", "YuGothic", "Noto Sans JP", sans-serif;
  line-height: 1.75;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; display: block; }
button, input, textarea, select { font: inherit; }

.gpl-container { width: min(1160px, calc(100% - 40px)); margin: 0 auto; }
.gpl-section { padding: 88px 0; }
.gpl-section--white { background: var(--gpl-surface); }
.gpl-section-title { margin: 0 0 14px; font-family: Georgia, "Yu Mincho", serif; font-size: clamp(30px, 4vw, 52px); line-height: 1.2; }
.gpl-section-lead { max-width: 760px; color: var(--gpl-muted); margin: 0 0 38px; }

.site-header { position: sticky; top: 0; z-index: 50; background: rgba(248,245,239,.94); backdrop-filter: blur(14px); border-bottom: 1px solid rgba(222,214,204,.8); }
.header-inner { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.site-branding { display: flex; flex-direction: column; line-height: 1.1; }
.site-title { font-family: Georgia, serif; font-size: 22px; font-weight: 700; letter-spacing: .04em; }
.site-tagline { color: var(--gpl-muted); font-size: 11px; margin-top: 5px; }
.main-navigation ul { display: flex; align-items: center; gap: 26px; margin: 0; padding: 0; list-style: none; }
.main-navigation a { font-size: 14px; font-weight: 700; }
.main-navigation a:hover { color: var(--gpl-accent-dark); }
.menu-toggle { display: none; border: 1px solid var(--gpl-line); background: white; padding: 9px 12px; border-radius: 10px; }
.header-cart { white-space: nowrap; font-weight: 700; }

.header-actions { display:flex; align-items:center; gap:10px; flex:0 0 auto; }
.header-account, .header-cart {
  min-height:42px; display:inline-flex; align-items:center; justify-content:center; gap:7px;
  padding:8px 13px; border:1px solid var(--gpl-line); border-radius:999px;
  background:rgba(255,255,255,.72); font-size:13px; font-weight:800; white-space:nowrap;
  transition:background .2s ease, border-color .2s ease, transform .2s ease;
}
.header-account:hover, .header-cart:hover { background:#fff; border-color:#c9b8a6; transform:translateY(-1px); }
.header-action-icon { font-size:15px; line-height:1; }
.header-cart-count {
  min-width:22px; height:22px; padding:0 6px; display:inline-grid; place-items:center;
  border-radius:999px; background:var(--gpl-dark); color:#fff; font-size:11px; line-height:1;
}


.gpl-hero { min-height: 76vh; display: grid; align-items: center; background:
  radial-gradient(circle at 78% 34%, rgba(255,255,255,.98) 0 8%, rgba(255,255,255,.4) 9% 20%, transparent 21%),
  linear-gradient(135deg, #f8f3ea 0%, #e7dbcc 58%, #cdb69f 100%);
  overflow: hidden;
}
.gpl-hero-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 70px; align-items: center; padding: 80px 0; }
.gpl-eyebrow { color: var(--gpl-accent-dark); font-weight: 800; letter-spacing: .16em; text-transform: uppercase; font-size: 12px; }
.gpl-hero h1 { margin: 18px 0 22px; font-family: Georgia, "Yu Mincho", serif; font-size: clamp(44px, 7vw, 84px); line-height: 1.05; letter-spacing: -.03em; }
.gpl-hero p { max-width: 590px; color: #5c5249; font-size: 18px; }
.gpl-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
.gpl-button, .wp-element-button, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit {
  display: inline-flex; justify-content: center; align-items: center; min-height: 50px; padding: 13px 24px; border: 0; border-radius: 999px; background: var(--gpl-dark); color: white !important; font-weight: 800; cursor: pointer; transition: .2s ease;
}
.gpl-button:hover, .woocommerce a.button:hover, .woocommerce button.button:hover { transform: translateY(-2px); background: var(--gpl-accent-dark); }
.gpl-button--ghost { background: transparent; color: var(--gpl-dark) !important; border: 1px solid rgba(33,28,24,.35); }
.gpl-hero-visual { position: relative; min-height: 520px; }
.gpl-light-panel { position: absolute; inset: 4% 8% 8% 10%; border-radius: 28px; background:
  linear-gradient(rgba(255,255,255,.06),rgba(255,255,255,.06)),
  repeating-linear-gradient(90deg, rgba(255,255,255,.16) 0 1px, transparent 1px 3px),
  radial-gradient(circle at 50% 42%, #fffdf6 0 18%, #f7ead4 35%, #c8a987 68%, #78593f 100%);
  box-shadow: 0 35px 100px rgba(86,54,29,.28), inset 0 0 90px rgba(255,248,223,.75);
  transform: rotate(2deg);
}
.gpl-light-panel::before { content: "PHOTO"; position:absolute; inset:0; display:grid; place-items:center; font-family: Georgia, serif; font-size: clamp(54px,8vw,110px); color: rgba(95,66,43,.28); letter-spacing:.08em; }
.gpl-light-panel::after { content: "灯りをつけると写真が浮かび上がります"; position:absolute; left:20px; right:20px; bottom:20px; padding:12px 16px; border-radius:14px; background:rgba(255,255,255,.72); text-align:center; font-weight:700; color:#59483a; }

.gpl-trust { padding: 22px 0; background: var(--gpl-dark); color: white; }
.gpl-trust-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:20px; text-align:center; font-size:14px; }

.gpl-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.gpl-card { background:white; border:1px solid var(--gpl-line); border-radius:var(--gpl-radius); padding:30px; box-shadow:var(--gpl-shadow); }
.gpl-card h3 { margin:0 0 10px; font-size:22px; }
.gpl-card p { color:var(--gpl-muted); margin:0; }
.gpl-card-number { width:42px; height:42px; display:grid; place-items:center; border-radius:50%; background:#efe4d7; color:var(--gpl-accent-dark); font-weight:900; margin-bottom:18px; }

.gpl-sizes { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.gpl-size-card { background:white; border:1px solid var(--gpl-line); border-radius:18px; overflow:hidden; }
.gpl-size-visual { aspect-ratio:4/3; display:grid; place-items:center; background:linear-gradient(145deg,#eadcca,#c9ad90); }
.gpl-size-sheet { background:#fff9ea; box-shadow:0 15px 35px rgba(75,51,30,.22); border-radius:4px; }
.gpl-size-sheet--l { width:48%; aspect-ratio:127/89; }
.gpl-size-sheet--2l { width:58%; aspect-ratio:178/127; }
.gpl-size-body { padding:20px; }
.gpl-size-body h3 { margin:0 0 8px; }
.gpl-size-body p { margin:0; color:var(--gpl-muted); font-size:14px; }

.gpl-scene-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.gpl-scene { min-height:210px; padding:24px; display:flex; align-items:flex-end; border-radius:18px; color:white; font-weight:800; background:linear-gradient(180deg,transparent,rgba(25,18,13,.75)), linear-gradient(135deg,#d8c0ab,#8f6a4a); }

.gpl-faq details { background:white; border:1px solid var(--gpl-line); border-radius:14px; padding:20px 22px; margin-bottom:12px; }
.gpl-faq summary { cursor:pointer; font-weight:800; }
.gpl-faq p { color:var(--gpl-muted); }

.site-main { min-height:60vh; }
.content-area { padding:64px 0; }
.entry-content, .page-content { max-width:880px; }
.entry-title { font-family:Georgia,"Yu Mincho",serif; font-size:clamp(34px,5vw,58px); }

.site-footer { background:var(--gpl-dark); color:#f6efe8; padding:64px 0 28px; }
.footer-grid { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:44px; }
.footer-menu { list-style:none; padding:0; margin:0; }
.footer-menu li { margin-bottom:10px; }
.footer-note { color:#c9beb4; font-size:13px; }
.footer-bottom { border-top:1px solid rgba(255,255,255,.12); margin-top:40px; padding-top:20px; color:#b8aca2; font-size:12px; }

/* WooCommerce */
.woocommerce ul.products { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display:none; }
.woocommerce ul.products li.product { width:auto !important; margin:0 !important; background:white; border:1px solid var(--gpl-line); border-radius:18px; padding:16px; box-shadow:var(--gpl-shadow); }
.woocommerce ul.products li.product a img { border-radius:12px; margin-bottom:16px; }
.woocommerce div.product { display:grid; grid-template-columns:1fr 1fr; gap:50px; }
.woocommerce div.product div.images, .woocommerce div.product div.summary { width:auto; float:none; }
.woocommerce div.product .product_title { font-family:Georgia,"Yu Mincho",serif; font-size:clamp(34px,5vw,56px); }
.woocommerce .quantity .qty { min-height:48px; border:1px solid var(--gpl-line); border-radius:10px; }
.woocommerce-message, .woocommerce-info { border-top-color:var(--gpl-accent); }
.woocommerce-message::before, .woocommerce-info::before { color:var(--gpl-accent); }
.woocommerce table.shop_table { background:white; border-radius:14px; overflow:hidden; }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .select2-container--default .select2-selection--single { min-height:48px; border:1px solid var(--gpl-line); border-radius:10px; padding:10px 12px; background:white; }

@media (max-width: 900px) {
  .menu-toggle { display:block; }
  .main-navigation { display:none; position:absolute; left:20px; right:20px; top:68px; background:white; border:1px solid var(--gpl-line); border-radius:14px; padding:18px; box-shadow:var(--gpl-shadow); }
  .main-navigation.is-open { display:block; }
  .main-navigation ul { flex-direction:column; align-items:flex-start; }
  .header-actions { margin-left:auto; }
  .gpl-hero-grid, .woocommerce div.product { grid-template-columns:1fr; }
  .gpl-hero-visual { min-height:400px; }
  .gpl-grid, .woocommerce ul.products { grid-template-columns:1fr 1fr; }
  .gpl-sizes, .gpl-scene-grid { grid-template-columns:1fr 1fr; }
  .gpl-trust-grid { grid-template-columns:1fr 1fr; }
  .footer-grid { grid-template-columns:1fr; }
}
@media (max-width: 560px) {
  .gpl-container { width:min(100% - 28px,1160px); }
  .gpl-section { padding:64px 0; }
  .site-tagline { display:none; }
  .header-account, .header-cart { padding:8px 10px; font-size:12px; }
  .header-action-label { display:none; }
  .header-actions { gap:7px; }
  .gpl-hero { min-height:auto; }
  .gpl-hero-grid { gap:18px; padding:58px 0; }
  .gpl-hero h1 { font-size:48px; }
  .gpl-hero-visual { min-height:320px; }
  .gpl-grid, .gpl-sizes, .gpl-scene-grid, .woocommerce ul.products { grid-template-columns:1fr; }
}

/* Home page editor content */
.gpl-home-page-content{padding-top:48px;padding-bottom:48px}
.gpl-home-page-content > .gpl-container > *:first-child{margin-top:0}
.gpl-home-page-content > .gpl-container > *:last-child{margin-bottom:0}


/* Public information pages (v3.1.2) */
.footer-menu--public { margin: 0; padding: 0; list-style: none; }
.footer-menu--public li + li { margin-top: 8px; }
.footer-menu--public a:hover { text-decoration: underline; }
.gpl-legal-table { width: 100%; border-collapse: collapse; margin: 1.5rem 0; background: var(--gpl-surface); }
.gpl-legal-table th, .gpl-legal-table td { padding: 16px 18px; border: 1px solid var(--gpl-line); text-align: left; vertical-align: top; }
.gpl-legal-table th { width: 29%; background: #f1ebe3; font-weight: 700; }
.gpl-legal-table small { color: var(--gpl-muted); }
@media (max-width: 700px) {
  .gpl-legal-table, .gpl-legal-table tbody, .gpl-legal-table tr, .gpl-legal-table th, .gpl-legal-table td { display: block; width: 100%; }
  .gpl-legal-table tr { border: 1px solid var(--gpl-line); border-bottom: 0; }
  .gpl-legal-table th, .gpl-legal-table td { border: 0; border-bottom: 1px solid var(--gpl-line); }
}

/* Premium home page redesign (v3.2.0) */
.gpl-section-heading{margin-bottom:42px}.gpl-section-heading--center{text-align:center}.gpl-section-heading--center .gpl-section-lead{margin-left:auto;margin-right:auto}.gpl-section-heading--split{display:flex;justify-content:space-between;align-items:end;gap:48px}.gpl-section-heading--split .gpl-section-lead{max-width:480px;margin-bottom:4px}.gpl-section-kicker{display:block;margin-bottom:12px;color:var(--gpl-accent-dark);font-size:11px;font-weight:900;letter-spacing:.18em}.gpl-hero--v32{min-height:760px;background:linear-gradient(120deg,#f9f6f0 0%,#efe6da 48%,#d4bda7 100%)}.gpl-hero--v32 .gpl-hero-grid{padding:96px 0;gap:72px}.gpl-hero-copy{position:relative;z-index:2}.gpl-hero--v32 h1{max-width:720px;font-size:clamp(48px,6.4vw,82px);letter-spacing:-.045em}.gpl-hero--v32 p{max-width:610px;font-size:18px}.gpl-hero-notes{display:flex;flex-wrap:wrap;gap:10px 24px;padding:0;margin:26px 0 0;list-style:none;color:#665b51;font-size:13px;font-weight:700}.gpl-hero-notes li:before{content:"";display:inline-block;width:5px;height:5px;margin:0 9px 2px 0;border-radius:50%;background:var(--gpl-accent)}.gpl-hero--v32 .gpl-hero-visual{min-height:570px}.gpl-hero--v32 .gpl-light-panel{inset:2% 7% 8% 8%;overflow:hidden;border:10px solid rgba(255,255,255,.55);background:radial-gradient(ellipse at 48% 38%,rgba(255,255,255,.98) 0 11%,rgba(249,232,199,.94) 26%,rgba(194,150,111,.74) 55%,rgba(92,63,43,.92) 100%);box-shadow:0 45px 110px rgba(79,51,30,.34),inset 0 0 100px rgba(255,244,214,.72)}.gpl-hero--v32 .gpl-light-panel:before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,transparent 20%,rgba(255,255,255,.26) 45%,transparent 70%),repeating-linear-gradient(90deg,rgba(255,255,255,.09) 0 1px,transparent 1px 3px)}.gpl-hero--v32 .gpl-light-panel:after{display:none}.gpl-light-panel-label{position:absolute;inset:0;display:grid;place-items:center;color:rgba(83,55,37,.29);font-family:Georgia,serif;font-size:clamp(48px,7vw,94px);letter-spacing:.06em}.gpl-hero-caption{position:absolute;right:0;bottom:0;max-width:330px;padding:17px 20px;border:1px solid rgba(255,255,255,.7);border-radius:15px;background:rgba(255,255,255,.78);box-shadow:0 14px 38px rgba(53,38,27,.13);color:#5d5046;font-size:13px;font-weight:700;backdrop-filter:blur(10px)}.gpl-value-strip{padding:25px 0;background:var(--gpl-dark);color:#fff}.gpl-value-strip-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.gpl-value-strip-grid div{display:flex;flex-direction:column;align-items:center;text-align:center}.gpl-value-strip strong{font-family:Georgia,serif;font-size:13px;letter-spacing:.12em}.gpl-value-strip span{margin-top:4px;color:#cfc4ba;font-size:12px}.gpl-reason-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.gpl-reason-card{min-height:300px;padding:30px 25px;border:1px solid var(--gpl-line);border-radius:20px;background:#fff;transition:transform .22s ease,box-shadow .22s ease}.gpl-reason-card:hover{transform:translateY(-5px);box-shadow:var(--gpl-shadow)}.gpl-reason-icon{display:grid;place-items:center;width:50px;height:50px;margin-bottom:42px;border:1px solid #d9c8b8;border-radius:50%;color:var(--gpl-accent-dark);font-family:Georgia,serif;font-size:13px}.gpl-reason-card h3{margin:0 0 13px;font-family:Georgia,"Yu Mincho",serif;font-size:22px;line-height:1.45}.gpl-reason-card p{margin:0;color:var(--gpl-muted);font-size:14px}.gpl-gallery-section{background:#efe7dd}.gpl-gallery-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-template-rows:260px 260px;gap:18px}.gpl-gallery-item{margin:0;min-width:0}.gpl-gallery-item--large{grid-row:1/3}.gpl-gallery-item:last-child{grid-column:2/4}.gpl-gallery-placeholder{position:relative;height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:25px;overflow:hidden;border-radius:20px;background:radial-gradient(circle at 50% 30%,rgba(255,253,237,.96),rgba(221,190,155,.8) 33%,rgba(103,72,50,.95) 100%);box-shadow:0 18px 45px rgba(69,47,31,.13);color:#fff}.gpl-gallery-placeholder:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(30,20,14,.58)),repeating-linear-gradient(90deg,rgba(255,255,255,.08) 0 1px,transparent 1px 3px)}.gpl-gallery-placeholder span,.gpl-gallery-placeholder small{position:relative;z-index:1}.gpl-gallery-placeholder span{font-family:Georgia,"Yu Mincho",serif;font-size:21px;font-weight:700}.gpl-gallery-placeholder small{margin-top:5px;color:rgba(255,255,255,.76)}.gpl-flow-list{display:grid;grid-template-columns:repeat(5,1fr);gap:0;padding:0;margin:0;list-style:none;counter-reset:flow}.gpl-flow-list li{position:relative;padding:0 24px;text-align:center}.gpl-flow-list li:not(:last-child):after{content:"";position:absolute;top:25px;right:-20px;width:40px;height:1px;background:#cdbdab}.gpl-flow-number{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 21px;border:1px solid #cdbdab;border-radius:50%;background:#fff;color:var(--gpl-accent-dark);font-family:Georgia,serif}.gpl-flow-list h3{margin:0 0 10px;font-size:17px}.gpl-flow-list p{margin:0;color:var(--gpl-muted);font-size:13px;line-height:1.65}.gpl-size-section{background:#f7f3ed}.gpl-sizes--v32 .gpl-size-card{transition:transform .22s ease,box-shadow .22s ease}.gpl-sizes--v32 .gpl-size-card:hover{transform:translateY(-5px);box-shadow:var(--gpl-shadow)}.gpl-order-section{border-top:1px solid #eee5db}.gpl-order-section>.gpl-container{max-width:1160px}.gpl-faq-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start}.gpl-faq-intro{position:sticky;top:120px}.gpl-faq-intro .gpl-section-title{font-size:clamp(34px,4vw,50px)}.gpl-faq-intro p{color:var(--gpl-muted)}.gpl-text-link{display:inline-flex;gap:8px;margin-top:14px;color:var(--gpl-accent-dark);font-weight:800}.gpl-faq--v32 details{padding:23px 25px;margin-bottom:12px}.gpl-faq--v32 summary{list-style:none;padding-right:30px;position:relative}.gpl-faq--v32 summary::-webkit-details-marker{display:none}.gpl-faq--v32 summary:after{content:"＋";position:absolute;right:0;top:-3px;font-size:20px;font-weight:400}.gpl-faq--v32 details[open] summary:after{content:"−"}.gpl-final-cta{padding:68px 0;background:linear-gradient(115deg,#332a24,#6e523d);color:#fff}.gpl-final-cta-inner{display:flex;justify-content:space-between;align-items:center;gap:40px}.gpl-final-cta .gpl-section-kicker{color:#d8c0aa}.gpl-final-cta h2{max-width:760px;margin:0;font-family:Georgia,"Yu Mincho",serif;font-size:clamp(30px,4vw,48px);line-height:1.35}.gpl-button--light{background:#fff;color:var(--gpl-dark)!important;white-space:nowrap}.gpl-button--light:hover{background:#eee4da;color:var(--gpl-dark)!important}

@media (max-width:1000px){.gpl-reason-grid{grid-template-columns:1fr 1fr}.gpl-flow-list{grid-template-columns:1fr 1fr;gap:32px 0}.gpl-flow-list li:not(:last-child):after{display:none}.gpl-flow-list li:last-child{grid-column:1/3}.gpl-gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:340px 240px 240px}.gpl-gallery-item--large{grid-column:1/3;grid-row:auto}.gpl-gallery-item:last-child{grid-column:1/3}.gpl-faq-layout{gap:48px}}
@media (max-width:700px){.gpl-section-heading--split,.gpl-final-cta-inner{display:block}.gpl-section-heading--split .gpl-section-lead{margin-top:20px}.gpl-hero--v32 .gpl-hero-grid{padding:62px 0 72px}.gpl-hero--v32 h1{font-size:46px}.gpl-hero--v32 .gpl-hero-visual{min-height:350px}.gpl-hero-caption{right:8px;left:8px;max-width:none}.gpl-value-strip-grid{grid-template-columns:1fr;gap:17px}.gpl-reason-grid{grid-template-columns:1fr}.gpl-reason-card{min-height:auto}.gpl-reason-icon{margin-bottom:25px}.gpl-gallery-grid{display:grid;grid-template-columns:1fr;grid-template-rows:330px 220px 220px 220px}.gpl-gallery-item--large,.gpl-gallery-item:last-child{grid-column:auto}.gpl-flow-list{grid-template-columns:1fr}.gpl-flow-list li,.gpl-flow-list li:last-child{grid-column:auto;padding:0}.gpl-faq-layout{grid-template-columns:1fr}.gpl-faq-intro{position:static}.gpl-final-cta .gpl-button{margin-top:25px}.gpl-hero-notes{display:block}.gpl-hero-notes li+li{margin-top:7px}}


/* v3.4 purchase flow, breadcrumbs and 404 */
.gpl-breadcrumbs{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center;margin:0 0 28px;color:var(--gpl-muted);font-size:14px}
.gpl-breadcrumbs a{color:var(--gpl-accent-dark);text-decoration:none}
.gpl-empty-cart{max-width:720px;margin:32px auto;text-align:center}
.gpl-empty-cart .woocommerce-info{margin:0;padding:30px;border:1px solid var(--gpl-line);border-radius:var(--gpl-radius);background:#fff;box-shadow:var(--gpl-shadow);font-size:18px}
.gpl-404{text-align:center;max-width:760px;margin:0 auto;padding:44px 0 72px}
.gpl-404-code{display:block;font-family:Georgia,serif;font-size:clamp(72px,16vw,150px);line-height:.9;color:#dfc9ae;letter-spacing:.03em}
.gpl-404 h1{font-size:clamp(30px,5vw,52px);margin:22px 0 12px}
.gpl-404 p{color:var(--gpl-muted);font-size:17px;margin:0 0 28px}


/* Empty Cart Block: hide WooCommerce's default recommendation section. */
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-woocommerce-product-new,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-woocommerce-product-collection,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-woocommerce-all-products,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid,
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-product-template,
.woocommerce-cart .wp-block-woocommerce-cart-empty-block + h2,
.woocommerce-cart .wp-block-woocommerce-cart-empty-block ~ .wp-block-woocommerce-product-new,
.woocommerce-cart .wp-block-woocommerce-cart-empty-block ~ .wp-block-woocommerce-product-collection,
.woocommerce-cart .wp-block-woocommerce-cart-empty-block ~ .wp-block-woocommerce-all-products {
    display: none !important;
}

/* === v3.5.0: Gutenberg-editable homepage === */
.gpl-editable-home { overflow:hidden; }
.gpl-editable-home > .wp-block-group.alignfull { margin-left:0; margin-right:0; }
.gpl-editable-home .alignwide { width:min(1160px, calc(100% - 40px)); max-width:1160px; margin-left:auto; margin-right:auto; }
.gpl-editable-home .alignfull { width:100%; max-width:none; }
.gpl-block-hero { padding:88px 20px; background:linear-gradient(135deg,#f8f3ea 0%,#e7dbcc 58%,#cdb69f 100%); }
.gpl-block-hero h1 { margin-top:12px; font-family:Georgia,"Yu Mincho",serif; font-size:clamp(42px,6vw,76px); line-height:1.08; }
.gpl-block-kicker { color:var(--gpl-accent-dark); font-size:12px; font-weight:800; letter-spacing:.16em; }
.gpl-block-section { padding:84px 20px; }
.gpl-block-section > .wp-block-heading { font-family:Georgia,"Yu Mincho",serif; font-size:clamp(30px,4vw,48px); }
.gpl-block-photo-placeholder { min-height:300px; display:grid; place-items:center; border:1px dashed #c9b8a6; border-radius:var(--gpl-radius); background:linear-gradient(145deg,#f4ede5,#e4d5c5); color:var(--gpl-accent-dark); }
.gpl-block-cards > .wp-block-column { padding:26px; background:#fff; border:1px solid var(--gpl-line); border-radius:var(--gpl-radius); }
.gpl-editable-home .wp-block-button__link { background:var(--gpl-dark); color:#fff; border-radius:999px; padding:13px 24px; font-weight:800; }
.gpl-editable-home .wp-block-image img { border-radius:var(--gpl-radius); }
.gpl-block-order { position:relative; }
@media (max-width:781px) {
  .gpl-block-hero,.gpl-block-section { padding:58px 20px; }
  .gpl-block-photo-placeholder { min-height:220px; }
}


/* === v3.6.0: Home.pdf / Memory Photo Light redesign === */
:root{--memory-cream:#f7f3df;--memory-cream-2:#f1ead1;--memory-green:#244f35;--memory-green-dark:#183a26;--memory-gold:#c7ad65;--memory-ink:#26362b}
.gpl-editable-home{background:#fff;color:var(--memory-ink)}
.gpl-editable-home .alignwide{width:min(1120px,calc(100% - 40px));max-width:1120px;margin-left:auto;margin-right:auto}
.memory-section{padding:84px 20px}
.memory-kicker{margin:0 0 8px;color:#637365;font-size:12px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.memory-hero{padding:74px 20px 86px;background:var(--memory-cream)}
.memory-hero-columns{gap:74px}
.memory-wordmark{margin:0 0 24px!important;font-family:Georgia,"Times New Roman","Yu Mincho",serif;font-size:clamp(58px,7vw,94px)!important;font-weight:400;line-height:.92;letter-spacing:-.045em;color:#354939}
.memory-hero-copy{margin:0 0 18px!important;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(23px,3vw,34px);font-weight:500;line-height:1.65;color:#36493b}
.memory-hero p{max-width:520px;color:#59665d}
.memory-photo-placeholder{display:grid;place-items:center;min-height:220px;border:1px dashed #b9aa7e;background:linear-gradient(145deg,#f6f0dd,#e7dfc2);color:#8a7a4f;text-align:center}
.memory-hero-photo{min-height:460px;border-radius:0 86px 0 0;overflow:hidden}
.memory-values{padding-top:76px;padding-bottom:86px}
.memory-section-title{margin-bottom:42px!important;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(31px,4vw,48px);font-weight:500;text-decoration:underline;text-underline-offset:10px;text-decoration-thickness:1px}
.memory-value-grid{gap:24px}
.memory-value-grid .wp-block-column{min-width:0}
.memory-value-photo{min-height:190px;border-radius:58px 58px 58px 8px;overflow:hidden}
.memory-value-grid h3{margin:17px 0 7px;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:18px;font-weight:600;color:#455b4b}
.memory-value-grid p{margin:0;color:#748078;font-size:13px;line-height:1.7}
.memory-product-section{background:var(--memory-cream);padding-top:78px;padding-bottom:78px}
.memory-product-card{display:grid;grid-template-columns:1.15fr .85fr;gap:54px;align-items:center;width:min(1120px,100%);margin:0 auto;padding:34px;border-radius:28px;background:#fff;box-shadow:0 18px 48px rgba(60,72,55,.06)}
.memory-product-gallery{display:grid;grid-template-columns:70px 1fr;gap:14px;min-width:0}
.memory-thumb-stack{display:flex;flex-direction:column;gap:9px}
.memory-thumb-placeholder{display:grid;place-items:center;aspect-ratio:1;border-radius:10px;background:#efe8ce;color:#8e815b;font-size:9px;font-weight:800}
.memory-main-photo-placeholder{display:flex;min-height:430px;flex-direction:column;align-items:center;justify-content:center;border-radius:6px;background:linear-gradient(145deg,#efe7c9,#ddd1a5);color:#756842;text-align:center}
.memory-main-photo-placeholder small{margin-top:9px;opacity:.72}
.memory-product-info h2{margin:4px 0 12px;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(28px,3vw,38px);font-weight:600;color:#35503b}
.memory-product-copy{color:#6a766d;font-size:14px}
.memory-size-prices{margin:28px 0 14px}.memory-label{display:block;margin-bottom:10px;font-size:12px;color:#718076}.memory-size-chips{display:grid;grid-template-columns:1fr 1fr;gap:9px}.memory-size-chip{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid #ded8c2;border-radius:999px;font-size:12px}.memory-size-chip b{color:#38513e}.memory-shipping-note{font-size:12px;color:#7b827d}.memory-product-cta{margin-top:14px;background:var(--memory-green)!important}
.memory-wrap-section{padding-top:74px;padding-bottom:74px}.memory-panel{padding:38px;border-radius:28px;background:#fff;box-shadow:0 10px 36px rgba(57,70,53,.06)}.memory-panel h2{margin-top:0;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;color:#38513e}.memory-panel>p{color:#879088;font-size:13px}.memory-wrap-grid{gap:14px}.memory-wrap-placeholder{display:grid;place-items:end start;min-height:230px;padding:18px;border-radius:12px;background:linear-gradient(145deg,#e9e1c8,#d7cda8);color:#5f604d;font-weight:800}
.memory-order-section{background:#fff;padding-top:84px;padding-bottom:96px}.memory-order-section>h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(30px,4vw,46px);color:#334b39}.memory-order-section>.alignwide{color:#7b847d}.memory-order-section .gpl-finder{width:min(1120px,100%);margin:36px auto 0;padding:34px;border:1px solid #d8d2bb;border-radius:24px;background:#fbfaf3}.memory-order-section .gpl-finder-file,.memory-order-section .gpl-size-link{background:var(--memory-green)!important;color:#fff!important}.memory-order-section .gpl-size-card{border-color:#ded8c2!important;background:#fff!important}.memory-order-section .gpl-recommend{background:#e5ddbd!important;color:#4b5e4f!important}
.memory-news-section{padding-top:82px;padding-bottom:82px}.memory-news-card{display:grid;grid-template-columns:.65fr .35fr 1.3fr auto;gap:26px;align-items:center;width:min(900px,100%);margin:0 auto}.memory-news-card h2{margin:0;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;color:#405647}.memory-news-card time{color:#7e8980;font-size:13px}.memory-news-card h3{margin:0 0 6px;font-size:15px}.memory-news-card p{margin:0;color:#7a857c;font-size:13px}.memory-news-empty{text-align:center}
.site-header{background:rgba(247,243,223,.94);border-bottom-color:#e5dec6}.site-title{color:#38513e}.site-tagline{color:#78837b}.main-navigation a{color:#415649}.header-account,.header-cart{border-color:#d8d0b3;background:rgba(255,255,255,.5)}.site-footer{background:var(--memory-cream);color:#516158}.site-footer h2,.site-footer h3{color:#344d3a}
@media (max-width:900px){.memory-product-card{grid-template-columns:1fr}.memory-product-gallery{grid-template-columns:56px 1fr}.memory-main-photo-placeholder{min-height:360px}.memory-value-grid{display:grid!important;grid-template-columns:1fr 1fr}.memory-news-card{grid-template-columns:1fr}.memory-news-card .gpl-button{justify-self:start}.memory-hero-columns{gap:36px}.memory-hero-photo{min-height:360px}}
@media (max-width:640px){.memory-section{padding:58px 18px}.memory-hero{padding:50px 18px 60px}.memory-wordmark{font-size:56px!important}.memory-hero-copy{font-size:24px}.memory-hero-photo{min-height:300px;border-radius:0 56px 0 0}.memory-value-grid{grid-template-columns:1fr}.memory-value-photo{min-height:230px}.memory-product-card{padding:18px;border-radius:20px}.memory-product-gallery{display:block}.memory-thumb-stack{display:none}.memory-main-photo-placeholder{min-height:310px}.memory-size-chips{grid-template-columns:1fr}.memory-panel{padding:24px 18px}.memory-wrap-grid{display:grid!important;grid-template-columns:1fr 1fr}.memory-wrap-placeholder{min-height:160px}.memory-order-section .gpl-finder{padding:18px 14px}.memory-news-card{gap:12px}}

/* === v3.6.4: Home.pdf first-screen faithful reconstruction === */
:root{--pdf-cream:#f8f5e8;--pdf-green:#344d3b;--pdf-green-dark:#294532}
.pdf-header-v364{position:relative;z-index:20;padding:0;border:0;background:var(--pdf-cream)!important;box-shadow:none}
.pdf-header-inner{height:78px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;width:min(1440px,calc(100% - 58px));margin:auto}
.pdf-header-brand{justify-self:start;display:block;width:300px;line-height:0}
.pdf-header-brand img{display:block;width:100%;height:auto;mix-blend-mode:multiply}
.pdf-header-nav{display:flex;align-items:center;gap:58px}
.pdf-header-nav a{color:var(--pdf-green-dark);font-family:"Yu Gothic","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-size:16px;font-weight:700;text-decoration:none;letter-spacing:.02em}
.pdf-header-actions{justify-self:end;display:flex;align-items:center;gap:24px}
.pdf-icon-link{display:block;width:29px;height:29px;color:var(--pdf-green-dark)}
.pdf-icon-link svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.pdf-menu-button{display:flex!important;flex-direction:column;justify-content:center;gap:5px;width:30px;height:28px;padding:0;border:0;background:transparent;color:var(--pdf-green-dark)}
.pdf-menu-button span{display:block;width:28px;height:2px;border-radius:2px;background:currentColor}
.pdf-mobile-menu{display:none;position:absolute;right:30px;top:68px;min-width:220px;padding:18px;background:#fff;border:1px solid #e8e1cf;border-radius:12px;box-shadow:0 12px 30px rgba(40,50,40,.12)}
.pdf-mobile-menu.is-open{display:block}.pdf-mobile-menu ul{list-style:none;margin:0;padding:0}.pdf-mobile-menu li+li{margin-top:10px}.pdf-mobile-menu a{color:var(--pdf-green-dark);text-decoration:none}
.pdf-hero-v364{background:var(--pdf-cream);min-height:635px;padding:34px 0 72px;color:var(--pdf-green-dark)}
.pdf-hero-inner{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:start;width:min(1330px,calc(100% - 110px));margin:auto}
.pdf-hero-left{padding-top:8px;max-width:625px}
.pdf-hero-wordmark{display:block;width:500px;max-width:88%;height:auto;margin:0 0 -4px 35px;mix-blend-mode:multiply}
.pdf-hero-left h1{margin:-2px 0 17px;font-family:"Yu Gothic","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-size:27px;font-weight:400;line-height:1.55;letter-spacing:.015em;color:var(--pdf-green-dark)}
.pdf-hero-left p{margin:0 0 19px;font-family:"Yu Gothic","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-size:13px;font-weight:400;line-height:1.55;letter-spacing:.01em;color:#536354}
.pdf-hero-cta{display:inline-flex;align-items:center;justify-content:center;min-width:236px;height:50px;padding:0 24px;border-radius:8px;background:var(--pdf-green);color:#fff!important;font-family:"Yu Gothic","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-size:14px;font-weight:700;text-decoration:none;letter-spacing:.04em}
.pdf-hero-right{height:555px;overflow:hidden;border-radius:0 74px 0 0}
.pdf-hero-right img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}
@media(max-width:900px){.pdf-header-inner{grid-template-columns:1fr auto;width:calc(100% - 32px)}.pdf-header-brand{width:220px}.pdf-header-nav{display:none}.pdf-header-actions{gap:16px}.pdf-hero-v364{min-height:0;padding:24px 0 54px}.pdf-hero-inner{grid-template-columns:1fr;gap:35px;width:calc(100% - 36px)}.pdf-hero-left{max-width:none}.pdf-hero-wordmark{width:440px;margin-left:0}.pdf-hero-right{height:min(120vw,560px);border-radius:0 58px 0 0}}
@media(max-width:520px){.pdf-header-brand{width:180px}.pdf-header-actions{gap:11px}.pdf-icon-link{width:24px;height:24px}.pdf-menu-button{width:26px}.pdf-menu-button span{width:25px}.pdf-hero-wordmark{max-width:100%;width:360px}.pdf-hero-left h1{font-size:22px}.pdf-hero-left p{font-size:12px}.pdf-hero-cta{width:100%}}

/* v3.6.5 — PDF hero rebuilt as native editable Gutenberg blocks */
.pdf-hero-v365{background:var(--pdf-cream);padding:34px 0 72px;color:var(--pdf-green-dark)}
.pdf-hero-v365>.wp-block-columns,.pdf-hero-columns-v365{width:min(1330px,calc(100% - 110px));max-width:none!important;margin:0 auto!important;gap:90px;align-items:flex-start!important}
.pdf-hero-left-v365{padding-top:8px;max-width:625px}
.pdf-user-logo-v365{margin:0 0 -2px 28px!important;width:500px;max-width:88%}
.pdf-user-logo-v365 img{display:block;width:100%;height:auto}
.pdf-hero-title-v365{margin:-4px 0 17px!important;font-family:"Yu Gothic","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif!important;font-size:27px!important;font-weight:400!important;line-height:1.55!important;letter-spacing:.015em!important;color:var(--pdf-green-dark)!important}
.pdf-hero-copy-v365{margin:0 0 19px!important;max-width:520px;font-family:"Yu Gothic","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif!important;font-size:13px!important;font-weight:400!important;line-height:1.55!important;letter-spacing:.01em!important;color:#536354!important}
.pdf-hero-buttons-v365{margin:0!important}
.pdf-hero-button-v365 .wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;min-width:236px;height:50px;padding:0 24px!important;border-radius:8px!important;background:var(--pdf-green)!important;color:#fff!important;font-family:"Yu Gothic","YuGothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif!important;font-size:14px!important;font-weight:700!important;text-decoration:none!important;letter-spacing:.04em!important}
.pdf-hero-right-v365{height:555px;overflow:hidden;border-radius:0 74px 0 0}
.pdf-hero-photo-v365{height:100%;margin:0!important}
.pdf-hero-photo-v365 img{width:100%!important;height:555px!important;display:block;object-fit:cover;object-position:center}
@media(max-width:900px){.pdf-hero-v365{padding:24px 0 54px}.pdf-hero-v365>.wp-block-columns,.pdf-hero-columns-v365{width:calc(100% - 36px);gap:35px;flex-direction:column}.pdf-hero-left-v365{max-width:none}.pdf-user-logo-v365{width:440px;margin-left:0!important}.pdf-hero-right-v365{height:min(120vw,560px);border-radius:0 58px 0 0}.pdf-hero-photo-v365 img{height:min(120vw,560px)!important}}
@media(max-width:520px){.pdf-user-logo-v365{max-width:100%;width:360px}.pdf-hero-title-v365{font-size:22px!important}.pdf-hero-copy-v365{font-size:12px!important}.pdf-hero-button-v365,.pdf-hero-button-v365 .wp-block-button__link{width:100%}}


/* v3.7.1 supplied header logo + CTA artwork */
.gpl-header-logo-img {
  display:block;
  width:auto;
  height:38px;
  max-width:min(100%, 390px);
  object-fit:contain;
}
.gpl-hero-cta-img {
  display:block;
  width:100%;
  height:auto;
  max-width:100%;
}
a:has(> .gpl-hero-cta-img),
button:has(> .gpl-hero-cta-img) {
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  overflow:hidden;
  line-height:0;
}
@media (max-width: 782px) {
  .gpl-header-logo-img { height:30px; max-width:280px; }
}


/* v3.7.1 header logo transparency fix */
.site-branding,
.site-logo,
.header-logo,
.gpl-logo,
.custom-logo-link,
.gpl-header-logo,
.gpl-header-logo-wrap {
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
}
.gpl-header-logo-img {
    background: transparent !important;
    mix-blend-mode: normal;
}


/* v3.7.1 exact supplied header logo fix */
.pdf-header-brand {
    background: transparent !important;
    box-shadow: none !important;
    border: 0 !important;
}
.pdf-header-brand img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    background: transparent !important;
    mix-blend-mode: normal !important;
    opacity: 1 !important;
}


/* =========================================================
 * v3.7.1 Preparation mode overlay
 * ========================================================= */

.gpl-preparation-overlay {
    position: fixed;
    inset: 0;
    z-index: 99990;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(247, 243, 230, 0.50);
    backdrop-filter: blur(2px);
    -webkit-backdrop-filter: blur(2px);
    pointer-events: none;
}

.gpl-preparation-overlay__box {
    width: min(620px, calc(100vw - 40px));
    padding: clamp(32px, 5vw, 58px);
    border: 1px solid rgba(49, 79, 60, 0.20);
    border-radius: 28px;
    background: rgba(255, 253, 246, 0.96);
    box-shadow: 0 18px 55px rgba(29, 45, 34, 0.12);
    text-align: center;
    color: #314f3c;
}

.gpl-preparation-overlay__eyebrow {
    margin: 0 0 12px;
    font-family: Inter, "Yu Gothic", "YuGothic", sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.18em;
}

.gpl-preparation-overlay__title {
    margin: 0;
    font-family: "Noto Serif JP", "Yu Mincho", "YuMincho", serif;
    font-size: clamp(32px, 5vw, 52px);
    font-weight: 500;
    line-height: 1.3;
}

.gpl-preparation-overlay__message {
    margin: 20px auto 0;
    max-width: 480px;
    font-size: clamp(14px, 2vw, 17px);
    line-height: 1.9;
}

@media (max-width: 600px) {
    .gpl-preparation-overlay {
        padding: 16px;
    }

    .gpl-preparation-overlay__box {
        border-radius: 22px;
        padding: 30px 22px;
    }
}


/* =========================================================
 * v3.7.1 Elementor compatibility
 * ========================================================= */
body.gpl-elementor-fullwidth .gpl-elementor-page,
body.gpl-elementor-fullwidth .gpl-elementor-page > .elementor {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}
body.gpl-elementor-fullwidth .entry-content {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}
body.elementor-editor-active .gpl-preparation-overlay {
    display: none !important;
}
