/*
Theme Name: Editorial Grove
Theme URI: https://stock-grove.com/
Author: Grove Stock
Description: Editable, multilingual product pages for Stock Grove and Stock Grove Insights.
Version: 1.1.0
Requires at least: 6.6
Requires PHP: 8.0
Text Domain: editorial-grove
*/
:root { --pine:#234d4a; --deep:#203f3b; --sage:#4e6851; --cream:#f4eee2; --paper:#fffaf1; --line:#d4cbb9; --orange:#a64e2e; --ink:#2e403a; --muted:#526557; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font:16px/1.65 Arial,Helvetica,sans-serif; }
img { max-width:100%; height:auto; }
figure { margin:0; }
a { color:var(--pine); text-underline-offset:4px; }
button,input,select { font:inherit; }
a,button,input,select,summary { outline-offset:4px; }
:focus-visible { outline:3px solid #ad542d; }
h1,h2,h3,h4 { font-family:Georgia,'Times New Roman',serif; font-weight:400; line-height:1.15; overflow-wrap:anywhere; }
h1 { font-size:clamp(2.6rem,5.7vw,5.1rem); letter-spacing:-.05em; margin:.3em 0; }
h2 { font-size:clamp(1.9rem,3.7vw,2.9rem); letter-spacing:-.035em; margin:.3em 0; }
h3 { font-size:1.55rem; margin:.3em 0; }
h4 { font-size:1.2rem; margin:.3em 0; }
h1 em,h2 em { color:var(--orange); }
p { margin:.6em 0 1em; }
.wrap { width:min(1160px,calc(100% - 48px)); margin-inline:auto; }
.section { padding-block:64px; }
.eyebrow { font-size:.75rem; font-weight:700; letter-spacing:.13em; color:var(--sage); }
.wp-block-button__link,.button,.outline-button,.account-link { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:44px; border:1px solid var(--pine); border-radius:5px; padding:11px 18px; background:var(--pine); color:var(--paper); font-size:.9rem; font-weight:700; line-height:1.4; text-decoration:none; }
.wp-block-button__link:hover,.button:hover { background:var(--deep); color:var(--paper); }
.wp-block-button.is-style-outline>.wp-block-button__link,.account-link { background:transparent; color:var(--pine); }
.wp-block-buttons { margin-top:20px; }
.text-link { font-weight:700; }
.skip-link { position:absolute; top:0; left:12px; z-index:100; background:var(--paper); padding:12px; transform:translateY(-120%); }
.skip-link:focus { transform:translateY(0); }
.announcement { text-align:center; background:var(--pine); color:var(--paper); font-size:.875rem; padding:8px 16px; }
.site-header { display:flex; align-items:center; gap:20px; padding-block:18px; }
.brand { display:inline-flex; align-items:center; gap:10px; color:var(--deep); text-decoration:none; font-size:1.15rem; font-weight:700; line-height:1.15; flex-shrink:0; }
.brand img { width:45px; height:45px; object-fit:contain; border-radius:10px; }
.brand span { max-width:120px; }
.primary-nav { flex:1; }
.menu { list-style:none; padding:0; margin:0; display:flex; gap:18px; flex-wrap:wrap; }
.primary-nav .menu { justify-content:center; }
.menu a { display:inline-flex; align-items:center; min-height:44px; font-size:.875rem; font-weight:700; color:var(--ink); text-decoration:none; }
.menu a:hover,.menu [aria-current],.current-menu-item>a,.current_page_item>a,.account-link[aria-current] { text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:7px; }
.menu-toggle { display:none; min-height:44px; border:1px solid var(--line); border-radius:4px; background:var(--paper); color:var(--pine); padding:8px 12px; }
.account-link { flex-shrink:0; }
.hero { background:#f5efe3; border-top:1px solid var(--line); }
.hero-grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr); }
.hero-copy { padding:65px 38px 65px 12px; }
.hero-copy>p:not(.eyebrow) { color:var(--muted); max-width:470px; }
.hero-actions { display:flex; gap:14px; flex-wrap:wrap; align-items:center; }
.hero-art { min-height:530px; position:relative; overflow:hidden; background:#dce5d7; }
.hero-art::before { content:""; position:absolute; width:340px; height:340px; border-radius:50%; background:#e9dcbc; right:2%; top:35px; }
.art-paper { position:absolute; width:49%; padding:28px; min-height:340px; border-radius:18px 42px 18px 18px; box-shadow:0 20px 30px #3f5a4540; }
.art-paper.back { background:#d4835e; color:#32271e; left:10%; top:130px; transform:rotate(-11deg); font:1.6rem/1.3 Georgia,serif; }
.art-paper.back p:last-child { font-size:5rem; margin:20px 0 0; }
.art-paper.front { background:#faf4e7; right:10%; top:70px; transform:rotate(6deg); }
.art-paper.front h2 { font-size:clamp(1.6rem,2.5vw,2.2rem); margin-top:38px; }
.art-paper.front p:last-child { color:var(--orange); font-size:1.8rem; margin-bottom:0; }
.section-intro { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(0,1fr); align-items:end; column-gap:45px; margin-bottom:28px; }
.section-intro>.eyebrow { grid-column:1/-1; }
.section-intro>p:last-child { color:var(--muted); }
.app-grid,.account-preview { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.app-card,.account-box { background:var(--paper); border:1px solid var(--line); border-radius:10px; padding:26px; }
.app-card>p { color:var(--muted); }
.app-title { display:flex; align-items:center; gap:12px; }
.app-icon { width:48px; flex:0 0 48px; }
.app-icon img { width:48px; height:48px; object-fit:contain; }
.app-shot { margin:16px 0 24px; }
.app-shot>a { display:block; background:#e9dfcf; border-radius:7px; padding:12px; }
.app-card:nth-child(2) .app-shot>a { background:#dce5d9; }
.app-shot img { display:block; width:100%; aspect-ratio:16/10; object-fit:contain; box-shadow:0 8px 16px #3b4f3d22; }
.eg-screenshot>a { display:block; border-radius:6px; cursor:zoom-in; }
.eg-screenshot figcaption { color:var(--muted); font-size:.875rem; margin-top:10px; }
.account-band { padding:64px 0; background:var(--pine); color:var(--paper); text-align:center; }
.account-band .eyebrow { color:#d4e0ca; }
.account-band p:not(.eyebrow) { max-width:560px; margin-inline:auto; color:#e0e8dc; }
.account-band .wp-block-buttons { justify-content:center; }
.account-band .wp-block-button.is-style-outline>.wp-block-button__link { color:var(--paper); border-color:#d4dfcf; }
.feature-panel { background:var(--paper); border:1px solid var(--line); border-radius:9px; margin-top:22px; overflow:hidden; }
.feature-panel.insights { background:#f1f3e8; }
.feature-heading { display:flex; align-items:center; gap:14px; padding:24px 28px; border-bottom:1px solid var(--line); }
.feature-heading p { margin:0; }
.feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.feature-item { padding:24px 28px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.feature-item:nth-child(3n) { border-right:0; }
.feature-item:nth-last-child(-n+3) { border-bottom:0; }
.feature-number { font:1.5rem Georgia,serif; color:var(--orange); margin:0 0 10px; }
.insights .feature-number { color:var(--sage); }
.feature-item p:last-child { font-size:.9rem; color:var(--muted); margin-bottom:0; }
.journal-teaser { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:45px; }
.teaser-posts { list-style:none; padding:0; margin:0; }
.teaser-posts li { padding:24px; background:#e5e8d8; border-radius:8px; margin:0 0 14px; }
.teaser-posts a { font-family:Georgia,serif; font-size:1.4rem; color:var(--ink); }
.wp-block-latest-posts__post-date { font-size:.875rem; color:var(--muted); }
.site-footer { background:#e5e2d3; border-top:1px solid var(--line); padding-block:32px; }
.footer-inner { display:flex; align-items:center; gap:22px; flex-wrap:wrap; }
.footer-inner>p { font:italic 1rem Georgia,serif; flex:1; }
.footer-links { display:flex; align-items:center; gap:18px; flex-wrap:wrap; }
.footer-inner small { width:100%; font-size:.875rem; color:var(--muted); }
.language-picker { position:relative; }
.language-picker summary { border:1px solid var(--line); background:var(--paper); border-radius:4px; padding:10px 12px; min-height:44px; cursor:pointer; font-size:.875rem; }
.language-picker ul { position:absolute; bottom:100%; right:0; min-width:150px; padding:8px; margin:0 0 6px; list-style:none; background:var(--paper); border:1px solid var(--line); border-radius:5px; box-shadow:0 5px 18px #203f3b20; z-index:2; }
.language-picker a { display:block; min-height:44px; padding:8px; }
.page-hero { background:#e8eadc; border-top:1px solid var(--line); text-align:center; padding:65px 0; }
.page-hero p:not(.eyebrow) { max-width:650px; margin-inline:auto; color:var(--muted); }
.product-layout { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:35px; align-items:center; }
.product-layout>* { min-width:0; }
.product-icon { width:72px; }
.product-icon img { width:72px; height:72px; object-fit:contain; }
.product-shot img { width:100%; height:auto; border-radius:6px; box-shadow:0 12px 25px #203f3b26; }
.product-layout p { color:var(--muted); }
.steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.step-card { background:var(--paper); border:1px solid var(--line); border-radius:8px; padding:26px; }
.step-card p:last-child { color:var(--muted); }
.agency-note { font-size:.9rem; color:var(--muted); margin-top:22px; }
.eg-release { background:var(--paper); border:1px solid var(--line); border-radius:8px; padding:28px; }
.eg-release dl { margin:0; }
.eg-release dl>div { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); gap:20px; padding:16px 0; border-bottom:1px solid var(--line); }
.eg-release dt { font-weight:700; }
.eg-release dd { margin:0; }
.eg-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:22px; }
.subtle-panel { background:#e8eadc; border-radius:10px; padding:32px; margin-bottom:65px; }
.faq-list { max-width:780px; }
.faq-list details { border-bottom:1px solid var(--line); padding:20px 0; }
.faq-list summary { font:1.25rem/1.5 Georgia,serif; cursor:pointer; min-height:44px; }
.faq-list p { color:var(--muted); }
.eg-register-offer { margin-top:28px; padding:24px; border:1px solid var(--line); border-radius:8px; background:#e8eadc; }
.eg-register-offer h3 { margin:0 0 10px; font:1.5rem/1.25 Georgia,serif; }
.eg-register-offer p { margin:0 0 18px; }
.eg-register-offer .button { display:inline-flex; align-items:center; min-height:44px; padding:11px 18px; background:var(--pine); color:var(--paper); border-radius:4px; text-decoration:none; }
.eg-register-offer .eg-disabled { opacity:.65; cursor:default; }
.account-box.soft { background:#e8eadc; }
.account-box label { display:block; }
.account-box input[type=text],.account-box input[type=password] { display:block; width:100%; padding:11px; background:#fffdf7; border:1px solid #7b897a; border-radius:4px; margin-top:5px; }
.account-box input[type=submit] { min-height:44px; background:var(--pine); color:var(--paper); border:0; border-radius:4px; padding:11px 18px; cursor:pointer; }
.account-box .login-remember label { display:flex; gap:8px; align-items:center; min-height:44px; }
.account-box input[type=checkbox] { width:20px; height:20px; }
.post-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.post-card { background:var(--paper); border:1px solid var(--line); border-radius:8px; overflow:hidden; }
.post-card>div { padding:23px; }
.post-card img { width:100%; height:210px; object-fit:cover; }
.post-card h2 { font-size:1.55rem; }
.pagination { margin-bottom:50px; }
.article { max-width:780px; padding-block:65px; }
.article>.eyebrow { display:block; margin-top:24px; }
.entry-content { font-size:1.05rem; }
.screenshot-dialog { width:min(1500px,calc(100vw - 32px)); max-width:none; max-height:calc(100dvh - 32px); padding:16px; background:var(--paper); border:1px solid var(--line); border-radius:10px; color:var(--ink); }
.screenshot-dialog::backdrop { background:#142723d9; }
.screenshot-dialog img { display:block; width:100%; max-height:calc(100dvh - 160px); object-fit:contain; }
.screenshot-dialog p { margin:10px 0 0; }
.dialog-close { display:block; margin:0 0 12px auto; min-height:44px; padding:8px 12px; background:var(--pine); color:var(--paper); border:0; border-radius:4px; cursor:pointer; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
@media(max-width:1100px) {
  .site-header { flex-wrap:wrap; }
  .primary-nav { order:3; flex-basis:100%; }
  .account-link { margin-left:auto; }
  .art-paper { padding:20px; }
}
@media(max-width:900px) {
  .site-header { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:12px; }
  .brand { min-width:0; }
  .brand span { overflow-wrap:anywhere; }
  .primary-nav { grid-column:1/-1; order:4; }
  .primary-nav .menu { flex-direction:column; gap:0; }
  .primary-nav a { display:flex; padding:10px; border-top:1px solid var(--line); }
  .eg-js .primary-nav { display:none; }
  .eg-js .primary-nav.is-open { display:block; }
  .eg-js .menu-toggle { display:inline-flex; align-items:center; gap:8px; }
  .menu-toggle { grid-column:2; }
  .account-link { grid-column:3; margin:0; }
  .hero-copy { padding:45px 24px 45px 0; }
  .hero-art { min-height:480px; }
  .art-paper { width:60%; padding:18px; }
  .art-paper.back { left:3%; top:155px; }
  .art-paper.front { right:3%; }
  .feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .feature-item:nth-child(3n) { border-right:1px solid var(--line); }
  .feature-item:nth-child(2n) { border-right:0; }
  .feature-item:nth-last-child(3) { border-bottom:1px solid var(--line); }
  .product-layout { grid-template-columns:1fr; }
  .steps,.post-grid { grid-template-columns:1fr; }
}
@media(max-width:650px) {
  .wrap { width:calc(100% - 32px); }
  .section { padding-block:42px; }
  .hero-grid,.app-grid,.journal-teaser,.account-preview,.section-intro { grid-template-columns:1fr; }
  .hero-copy { padding:38px 0; }
  .hero-art { min-height:360px; }
  .art-paper { min-height:240px; width:48%; }
  .art-paper.back { top:95px; left:12%; font-size:1.3rem; }
  .art-paper.back p:last-child { font-size:3.5rem; }
  .art-paper.front { top:40px; right:12%; }
  .art-paper.front h2 { margin-top:28px; font-size:1.6rem; }
  .section-intro { gap:0; }
  .app-card,.account-box { padding:20px; }
  .feature-heading { padding:20px; }
  .feature-item { padding:20px; }
  .eg-release dl>div { grid-template-columns:1fr; gap:6px; }
  .footer-inner>p { flex-basis:100%; }
  .subtle-panel { padding:24px; }
}
@media(max-width:420px) {
  .site-header { gap:8px; }
  .brand { gap:7px; font-size:.95rem; }
  .brand img { width:32px; height:32px; }
  .menu-toggle,.account-link { font-size:.875rem; padding:8px; }
  .hero-actions { align-items:stretch; }
  .hero-actions>.wp-block-buttons { width:100%; }
  .feature-grid { grid-template-columns:1fr; }
  .feature-item { border-right:0!important; border-bottom:1px solid var(--line)!important; }
  .feature-item:last-child { border-bottom:0!important; }
  .art-paper { width:56%; }
  .art-paper.back { left:2%; }
  .art-paper.front { right:2%; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
