/*
Theme Name: Loevis Marketing
Theme URI: https://loevis.com
Author: Loevis
Description: Tema Gutenberg per il sito marketing Loevis. L'app rimane un servizio separato.
Version: 2.1.0
Text Domain: loevis-marketing
*/

:root { --loevis-green:#20a957; --loevis-green-dark:#08783a; --loevis-mint:#ecf8f0; --loevis-forest:#0c1b1a; --loevis-ink:#10231f; --loevis-muted:#5c6d68; --loevis-line:#dce9e1; --loevis-paper:#f8fcf9; --loevis-radius:24px; }
.wp-site-blocks { background:var(--loevis-paper); color:var(--loevis-ink); overflow:clip; }
.wp-site-blocks :where(h1,h2,h3) { color:var(--loevis-ink); letter-spacing:-.045em; }
.wp-site-blocks :where(p) { color:var(--loevis-muted); }

/* Native Gutenberg navigation and logo; content remains editable in the Site Editor. */
.loevis-site-header { background:rgba(255,255,255,.96); border-bottom:1px solid var(--loevis-line); position:sticky; top:0; z-index:40; }
.loevis-header-inner { align-items:center; display:flex; gap:24px; justify-content:space-between; margin:0 auto; max-width:1240px; min-height:74px; padding:0 28px; }
.loevis-primary-nav,.loevis-header-actions { align-items:center; display:flex; gap:24px; }
.loevis-primary-nav a,.loevis-login-link,.loevis-login-link a { color:#30443c; font-size:14px; font-weight:650; text-decoration:none; white-space:nowrap; }
.loevis-login-link { margin:0; }
.loevis-primary-nav a:hover,.loevis-login-link a:hover { color:var(--loevis-green-dark); }
.loevis-app-button .wp-block-button__link { background:var(--loevis-green); border-radius:999px; color:#fff; font-size:14px; font-weight:750; padding:12px 18px; text-decoration:none; white-space:nowrap; }
.loevis-app-button .wp-block-button__link:hover { background:var(--loevis-green-dark); color:#fff; }
.loevis-brand { background:center/contain no-repeat url("assets/loevis-wordmark.png"); display:block; flex:0 0 auto; height:34px; width:123px; }
.loevis-site-logo { flex-shrink:0; }
.loevis-site-logo img { display:block; height:auto; max-width:123px; }
.loevis-primary-nav .wp-block-navigation__responsive-container.is-menu-open { padding:28px; background:#fff; }
.loevis-primary-nav .wp-block-navigation__responsive-container.is-menu-open a { font-size:20px; white-space:normal; }
.loevis-primary-nav .wp-block-navigation__responsive-container-open { padding:12px; }
.loevis-primary-nav a:focus-visible,.loevis-login-link a:focus-visible,.loevis-app-button a:focus-visible { outline:3px solid var(--loevis-green); outline-offset:5px; }

.loevis-hero { background:linear-gradient(134deg,#f3fbf6 0%,#e5f6ea 55%,#ecf9f1 100%); padding:clamp(56px,8vw,112px) 28px clamp(70px,9vw,128px); }
.loevis-hero-inner { align-items:center; display:grid; gap:clamp(32px,6vw,86px); grid-template-columns:minmax(0,.94fr) minmax(420px,1.06fr); margin:0 auto; max-width:1160px; }
.loevis-eyebrow { color:var(--loevis-green-dark); font-size:12px; font-weight:800; letter-spacing:.14em; margin:0 0 18px; text-transform:uppercase; }
.loevis-hero h1 { font-size:clamp(44px,5.2vw,76px); line-height:.98; margin:0; max-width:670px; }
.loevis-hero h1 em { color:var(--loevis-green); font-style:normal; }
.loevis-hero-copy { font-size:19px; line-height:1.55; margin:26px 0 28px; max-width:550px; }
.loevis-hero-actions { align-items:center; display:flex; flex-wrap:wrap; gap:18px; }
.loevis-primary-button { background:var(--loevis-green); border-radius:999px; box-shadow:0 12px 24px rgba(32,169,87,.18); color:#fff; display:inline-block; font-size:16px; font-weight:750; padding:15px 24px; text-decoration:none; }
.loevis-secondary-button { color:var(--loevis-green-dark); font-size:15px; font-weight:750; text-decoration:none; }
.loevis-secondary-button:hover { text-decoration:underline; }
.loevis-store-badges { align-items:center; display:flex; flex-wrap:wrap; gap:10px; margin-top:26px; }
.loevis-store-badge { align-items:center; background:#101010; border-radius:10px; box-shadow:0 7px 16px rgba(12,27,26,.11); color:#fff; display:inline-flex; gap:9px; min-height:46px; padding:6px 13px 6px 10px; }
.loevis-store-badge img { display:block; height:25px; width:25px; }
.loevis-store-badge span { display:block; font-size:16px; font-weight:700; letter-spacing:-.02em; line-height:1; }
.loevis-store-badge small { display:block; font-size:8px; font-weight:700; letter-spacing:.08em; line-height:1.15; margin-bottom:2px; }
.loevis-app-shot { background:#fff; border:1px solid rgba(255,255,255,.8); border-radius:30px; box-shadow:0 32px 70px rgba(18,57,35,.16); overflow:hidden; padding:12px; transform:rotate(1.5deg); }
.loevis-app-shot img { border-radius:20px; display:block; height:auto; width:100%; }

.loevis-section { margin:0 auto; max-width:1160px; padding:clamp(72px,9vw,118px) 28px; }
.loevis-section-heading { margin:0 auto 42px; max-width:690px; text-align:center; }
.loevis-section-heading .loevis-eyebrow { margin-bottom:12px; }
.loevis-section-heading h2 { font-size:clamp(32px,4vw,52px); line-height:1.04; margin:0; }
.loevis-section-heading p { font-size:18px; line-height:1.55; margin:18px auto 0; }
.loevis-steps { display:grid; gap:18px; grid-template-columns:repeat(3,1fr); }
.loevis-step { background:#fff; border:1px solid var(--loevis-line); border-radius:20px; padding:28px; }
.loevis-step-number { color:var(--loevis-green); font-size:13px; font-weight:850; letter-spacing:.08em; }
.loevis-step h3 { font-size:23px; margin:14px 0 10px; }
.loevis-step p { font-size:15px; line-height:1.55; margin:0; }

.loevis-split { align-items:center; display:grid; gap:clamp(36px,7vw,100px); grid-template-columns:1fr 1fr; }
.loevis-split.is-reversed .loevis-copy { order:-1; }
.loevis-photo { border-radius:var(--loevis-radius); box-shadow:0 24px 54px rgba(12,27,26,.12); display:block; height:auto; width:100%; }
.loevis-copy h2 { font-size:clamp(34px,3.7vw,50px); line-height:1.04; margin:0; }
.loevis-copy p { font-size:17px; line-height:1.6; margin:20px 0 26px; }
.loevis-text-link { color:var(--loevis-green-dark); font-weight:760; text-decoration:none; }

.loevis-showcase { background:#0d221d; }
.loevis-showcase .loevis-section-heading h2,.loevis-showcase .loevis-section-heading p { color:#fff; }
.loevis-showcase .loevis-eyebrow { color:#8de8ae; }
.loevis-feature-grid { display:grid; gap:22px; grid-template-columns:repeat(2,1fr); }
.loevis-feature-card { background:#fff; border-radius:22px; overflow:hidden; }
.loevis-feature-card img { aspect-ratio:16/10; display:block; object-fit:cover; width:100%; }
.loevis-feature-card-body { padding:24px 26px 28px; }
.loevis-feature-card h3 { font-size:25px; margin:0 0 10px; }
.loevis-feature-card p { font-size:15px; line-height:1.55; margin:0; }

.loevis-cta { background:var(--loevis-green); border-radius:28px; color:#fff; display:flex; gap:30px; justify-content:space-between; margin:0 auto 96px; max-width:1104px; padding:clamp(34px,6vw,66px); }
.loevis-cta h2 { color:#fff; font-size:clamp(30px,4vw,48px); line-height:1.05; margin:0 0 14px; max-width:600px; }
.loevis-cta p { color:rgba(255,255,255,.86); font-size:17px; margin:0; }
.loevis-cta a { align-self:center; background:#fff; border-radius:999px; color:var(--loevis-green-dark); font-weight:800; padding:15px 20px; text-decoration:none; white-space:nowrap; }
.loevis-page-image { border-radius:24px; box-shadow:0 20px 48px rgb(8 21 14 / 14%); max-width:100%; height:auto; }
.loevis-site-footer { background:#0d221d; color:#fff; padding:48px 28px; }
.loevis-footer-inner { align-items:center; display:flex; justify-content:space-between; margin:0 auto; max-width:1160px; }
.loevis-footer-inner p { color:#b9ccc1; font-size:14px; margin:0; }
.loevis-footer-inner a { color:#fff; font-size:14px; text-decoration:none; }

@media (min-width:600px) and (max-width:1050px) {
  .loevis-primary-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display:none; }
  .loevis-primary-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display:flex; }
}
@media (max-width:900px) { .loevis-header-inner { padding:0 20px; } .loevis-hero-inner,.loevis-split { grid-template-columns:1fr; } .loevis-hero-inner { max-width:680px; } .loevis-app-shot { transform:none; } .loevis-split.is-reversed .loevis-copy { order:initial; } }
@media (max-width:620px) { .loevis-header-inner { gap:12px; min-height:64px; } .loevis-header-actions { gap:10px; } .loevis-login-link { display:none; } .loevis-app-button { font-size:12px; padding:10px 13px; } .loevis-brand { height:27px; width:98px; } .loevis-steps,.loevis-feature-grid { grid-template-columns:1fr; } .loevis-cta { align-items:flex-start; flex-direction:column; margin:0 20px 64px; } .loevis-footer-inner { align-items:flex-start; flex-direction:column; gap:12px; } }

/* Blog and article views share native, editable blocks. */
.loevis-blog,.loevis-article,.loevis-page { padding:clamp(32px,5vw,72px) 24px; }
.loevis-blog-intro { margin-bottom:40px; }
.loevis-blog-intro h1 { font-size:clamp(36px,5vw,64px); line-height:1.08; margin-bottom:16px; }
.loevis-blog-intro p { font-size:19px; max-width:650px; }
.loevis-post-card { background:#fff; border:1px solid var(--loevis-line); border-radius:24px; overflow:hidden; height:100%; }
.loevis-post-card .wp-block-post-featured-image { margin:0; }
.loevis-post-card .wp-block-post-featured-image img { width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; }
.loevis-post-card-body { padding:24px; }
.loevis-post-card .wp-block-post-title { font-size:24px; line-height:1.25; margin:0 0 16px; }
.loevis-post-card .wp-block-post-title a { color:var(--loevis-ink); text-decoration:none; }
.loevis-post-card .wp-block-post-title a:hover { color:var(--loevis-green-dark); text-decoration:underline; }
.loevis-post-card .wp-block-read-more { color:var(--loevis-green-dark); font-weight:700; text-decoration:none; }
.loevis-blog .wp-block-query-pagination { margin-top:36px; }
.loevis-article h1 { font-size:clamp(32px,4vw,52px); line-height:1.12; }
.loevis-article .wp-block-post-featured-image img { border-radius:24px; width:100%; height:auto; }
.loevis-article .wp-block-post-content { font-size:18px; line-height:1.75; }
.loevis-article .wp-block-post-content h2 { font-size:clamp(25px,3vw,34px); line-height:1.25; margin-top:40px; }
.loevis-article-back a { color:var(--loevis-green-dark); font-weight:700; }
@media (max-width:900px) { .loevis-blog .wp-block-post-template.is-layout-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:620px) { .loevis-blog .wp-block-post-template.is-layout-grid { grid-template-columns:minmax(0,1fr); } .loevis-site-logo img { max-width:98px; } .loevis-header-actions { min-width:0; } }
