/*
Theme Name: Creasoft
Theme URI: https://creasoft.ro
Author: Creasoft
Description: Tema bloc pentru creasoft.ro. Sectiuni curate, text mare, imagini de produs. Toate textele, imaginile, culorile si meniurile se editeaza din editorul WordPress.
Version: 1.5.0
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.0
License: GPL-2.0-or-later
Text Domain: creasoft
*/

/* ---------- Baza ---------- */
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; overflow-x: hidden; }
img { max-width: 100%; height: auto; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
.wp-site-blocks { padding-top: 0; }
main.wp-block-group { margin-top: 0; }
::selection { background: #cfe3fb; }
a:focus-visible, button:focus-visible, summary:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: 3px solid #7fb3f0; outline-offset: 2px; border-radius: 6px; }

/* ---------- Antet ---------- */
.cs-header { position: sticky; top: 0; z-index: 100; background: rgba(255,255,255,.82); -webkit-backdrop-filter: saturate(180%) blur(20px); backdrop-filter: saturate(180%) blur(20px); border-bottom: 1px solid rgba(0,0,0,.08); }
.admin-bar .cs-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .cs-header { top: 46px; } }
.cs-header .cs-header-inner { min-height: 56px; gap: 1.25rem; }
.cs-header .wp-block-site-logo img, .cs-header .cs-logo img { height: 26px; width: auto; }
.cs-header .wp-block-navigation { font-size: 0.875rem; font-weight: 450; gap: 1.6rem; }
.cs-header .wp-block-navigation a { color: var(--wp--preset--color--ink, #1d1d1f); }
.cs-header .wp-block-navigation a:hover { color: var(--wp--preset--color--accent, #0a6ad8); text-decoration: none; }
.cs-header .wp-block-navigation .wp-block-navigation__submenu-container { border: 1px solid rgba(0,0,0,.08) !important; border-radius: 14px; padding: .5rem; box-shadow: 0 12px 32px rgba(0,0,0,.10); min-width: 260px !important; }
.cs-header .wp-block-navigation .wp-block-navigation__submenu-container a { padding: .5rem .75rem; border-radius: 8px; }
.cs-header .wp-block-navigation .wp-block-navigation__submenu-container a:hover { background: var(--wp--preset--color--mist, #f5f5f7); }
.cs-header .cs-header-actions { gap: .9rem; font-size: .875rem; }
.cs-header .cs-header-actions .wp-block-button__link { padding: .45rem 1rem; font-size: .875rem; }
.cs-header .cs-login a { color: var(--wp--preset--color--ink, #1d1d1f); }
@media (max-width: 1100px) { .cs-header .cs-login { display: none; } }
@media (max-width: 600px) { .cs-header .cs-header-actions .wp-block-buttons { display: none; } }

/* ---------- Sectiuni ---------- */
.cs-section { padding-top: var(--wp--preset--spacing--60); padding-bottom: var(--wp--preset--spacing--60); }
.cs-section.cs-tight { padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--50); }
.cs-mist { background: var(--wp--preset--color--mist, #f5f5f7); }
.cs-dark { background: #000; color: var(--wp--preset--color--mist, #f5f5f7); }
.cs-dark h1, .cs-dark h2, .cs-dark h3, .cs-dark h4 { color: var(--wp--preset--color--mist, #f5f5f7); }
.cs-dark .cs-lead, .cs-dark .cs-muted, .cs-dark p.cs-sub { color: #a1a1a6; }
.cs-dark a:not(.wp-block-button__link) { color: #2997ff; }
.cs-dark .cs-tile { background: var(--wp--preset--color--ink, #1d1d1f); }
.cs-dark .cs-tile p { color: #a1a1a6; }
.cs-center { text-align: center; }
.cs-center .wp-block-buttons { justify-content: center; }

.cs-eyebrow { font-size: var(--wp--preset--font-size--lg); font-weight: 600; color: var(--wp--preset--color--accent, #0a6ad8); letter-spacing: -0.01em; margin-bottom: .4rem; }
.cs-dark .cs-eyebrow { color: #2997ff; }
.cs-kicker { font-size: .8125rem; font-weight: 600; text-transform: uppercase; letter-spacing: .08em; color: var(--wp--preset--color--muted, #6e6e73); }
.cs-lead { font-size: clamp(1.25rem, 2.2vw, 1.75rem); line-height: 1.3; color: var(--wp--preset--color--ink, #1d1d1f); font-weight: 500; letter-spacing: -0.02em; max-width: 46rem; }
.cs-center .cs-lead { margin-left: auto; margin-right: auto; }
.cs-sub { font-size: var(--wp--preset--font-size--lg); color: var(--wp--preset--color--muted, #6e6e73); line-height: 1.45; max-width: 44rem; }
.cs-center .cs-sub { margin-left: auto; margin-right: auto; }
.cs-muted { color: var(--wp--preset--color--muted, #6e6e73); }

/* ---------- Hero ---------- */
.cs-hero { padding-top: clamp(3rem, 7vw, 6rem); padding-bottom: clamp(2rem, 5vw, 4rem); }
.cs-hero h1 { margin-top: .25rem; margin-bottom: 1rem; }
.cs-hero .wp-block-buttons { margin-top: 1.75rem; gap: 1.25rem; align-items: center; }
.cs-hero-media { margin-top: clamp(2rem, 5vw, 4rem); }
.cs-hero-media img { border-radius: 28px; }
.cs-hero-media.cs-plain img { border-radius: 0; }

/* Link "Afla mai mult >" */
.cs-more a, a.cs-more { font-weight: 500; }
.cs-more a::after, a.cs-more::after { content: " \203A"; font-size: 1.2em; line-height: 0; position: relative; top: .05em; }
.wp-block-button.is-style-cs-link .wp-block-button__link { background: transparent !important; color: var(--wp--preset--color--accent, #0a6ad8) !important; padding-left: 0; padding-right: 0; }
.wp-block-button.is-style-cs-link .wp-block-button__link::after { content: " \203A"; font-size: 1.2em; line-height: 0; position: relative; top: .05em; }
.wp-block-button.is-style-cs-link .wp-block-button__link:hover { text-decoration: underline; }
.cs-dark .wp-block-button.is-style-cs-link .wp-block-button__link { color: #2997ff !important; }
.wp-block-button.is-style-outline .wp-block-button__link { border: 1px solid var(--wp--preset--color--accent, #0a6ad8); color: var(--wp--preset--color--accent, #0a6ad8); background: transparent; }

/* ---------- Pe scurt / highlights ---------- */
.cs-highlights { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 1rem; list-style: none; padding: 0; margin-top: 2rem; }
.cs-highlights li { background: #fff; border-radius: 20px; padding: 1.4rem 1.4rem 1.5rem; font-size: 1.0625rem; line-height: 1.4; color: var(--wp--preset--color--ink, #1d1d1f); }
.cs-mist .cs-highlights li { background: #fff; }
.cs-highlights li strong { display: block; font-size: 1.375rem; letter-spacing: -0.02em; margin-bottom: .35rem; font-weight: 650; }
.cs-section:not(.cs-mist):not(.cs-dark) .cs-highlights li { background: var(--wp--preset--color--mist, #f5f5f7); }
.cs-dark .cs-highlights li { background: var(--wp--preset--color--ink, #1d1d1f); color: var(--wp--preset--color--mist, #f5f5f7); }

/* ---------- Tiles ---------- */
.cs-tiles { gap: 1.25rem !important; margin-top: 2.5rem; }
.cs-tiles > .wp-block-column { display: flex; }
.cs-tile { background: var(--wp--preset--color--mist, #f5f5f7); border-radius: 28px; padding: clamp(1.6rem, 3vw, 2.5rem); width: 100%; overflow: hidden; }
.cs-mist .cs-tile { background: #fff; }
.cs-tile h3 { font-size: clamp(1.4rem, 2vw, 1.75rem); margin-top: .3rem; margin-bottom: .6rem; }
.cs-tile p { color: #424245; }
.cs-tile .cs-kicker { margin-bottom: 0; }
.cs-tile figure { margin-top: 1.5rem; margin-bottom: 0; }
.cs-tile img { border-radius: 14px; }
.cs-tile .wp-block-buttons { margin-top: 1rem; }

/* ---------- Split (imagine + text) ---------- */
.cs-split { gap: clamp(2rem, 5vw, 5rem) !important; align-items: center !important; margin-top: 2rem; }
.cs-split img { border-radius: 24px; }
.cs-split h2 { font-size: clamp(2rem, 3.6vw, 2.75rem); }

/* ---------- Cifre ---------- */
.cs-stats { gap: 1.25rem !important; margin-top: 2.5rem; text-align: center; }
.cs-stat .cs-num { font-size: var(--wp--preset--font-size--jumbo); font-weight: 700; letter-spacing: -0.04em; line-height: 1; margin-bottom: .5rem; background: linear-gradient(90deg, var(--wp--preset--color--accent, #0a6ad8), #13abc3); -webkit-background-clip: text; background-clip: text; color: transparent; }
.cs-dark .cs-stat .cs-num { background: linear-gradient(90deg, #2997ff, #5ad1e6); -webkit-background-clip: text; background-clip: text; }
.cs-stat p:not(.cs-num) { color: var(--wp--preset--color--muted, #6e6e73); font-size: 1.0625rem; margin-top: 0; }

/* ---------- Comparatie / tabele ---------- */
.cs-compare { margin-top: 2rem; }
.cs-compare table { border-collapse: collapse; width: 100%; background: #fff; border-radius: 18px; overflow: hidden; }
.cs-compare th, .cs-compare td { border: 0 !important; border-bottom: 1px solid #e5e5ea !important; padding: .95rem 1rem; text-align: left; vertical-align: top; }
.cs-compare thead th { font-weight: 650; font-size: .95rem; background: #fff; border-bottom: 1px solid var(--wp--preset--color--line, #d2d2d7) !important; }
.cs-compare tr:last-child td { border-bottom: 0 !important; }
.cs-compare td:first-child { font-weight: 550; color: var(--wp--preset--color--ink, #1d1d1f); }
.cs-section:not(.cs-mist) .cs-compare table { background: var(--wp--preset--color--mist, #f5f5f7); }
.cs-section:not(.cs-mist) .cs-compare thead th { background: var(--wp--preset--color--mist, #f5f5f7); }
.wp-block-table figcaption, .cs-compare figcaption { color: var(--wp--preset--color--muted, #6e6e73); font-size: .8125rem; text-align: left; }
@media (max-width: 700px) {
	.cs-compare { overflow-x: auto; -webkit-overflow-scrolling: touch; }
	.cs-compare table { min-width: 560px; }
}

/* ---------- FAQ ---------- */
.cs-faq { max-width: 820px; margin-left: auto; margin-right: auto; }
.cs-faq .wp-block-details { margin: 0; }
.cs-faq .wp-block-details summary { font-size: 1.1875rem; font-weight: 600; letter-spacing: -0.015em; cursor: pointer; list-style: none; position: relative; padding-right: 2rem; }
.cs-faq .wp-block-details summary::-webkit-details-marker { display: none; }
.cs-faq .wp-block-details summary::after { content: "+"; position: absolute; right: .25rem; top: -.1rem; font-size: 1.6rem; font-weight: 300; color: var(--wp--preset--color--muted, #6e6e73); transition: transform .2s; }
.cs-faq .wp-block-details[open] summary::after { transform: rotate(45deg); }
.cs-faq .wp-block-details > *:not(summary) { color: #424245; margin-top: .75rem; }

/* ---------- Testimoniale ---------- */
.cs-quotes { gap: 1.25rem !important; margin-top: 2.5rem; }
.cs-quote { background: #fff; border-radius: 24px; padding: 2rem; height: 100%; }
.cs-section:not(.cs-mist) .cs-quote { background: var(--wp--preset--color--mist, #f5f5f7); }
.cs-quote .cs-quote-text { font-size: 1.125rem; line-height: 1.5; color: var(--wp--preset--color--ink, #1d1d1f); }
.cs-quote .cs-quote-author { font-size: .9375rem; color: var(--wp--preset--color--muted, #6e6e73); margin-top: 1rem; }
.cs-quote .cs-quote-author strong { color: var(--wp--preset--color--ink, #1d1d1f); display: block; }
.cs-logos { gap: 2.5rem !important; justify-content: center; align-items: center; color: var(--wp--preset--color--muted, #6e6e73); font-weight: 600; font-size: 1.125rem; flex-wrap: wrap; }

/* ---------- Pret ---------- */
.cs-price { font-size: clamp(2.5rem, 5vw, 3.5rem); font-weight: 700; letter-spacing: -0.035em; line-height: 1; margin: .5rem 0; }
.cs-price small, .cs-price .cs-unit { font-size: .4em; font-weight: 500; color: var(--wp--preset--color--muted, #6e6e73); letter-spacing: -0.01em; }

/* ---------- Note de subsol ---------- */
.cs-footnotes { font-size: .75rem; color: #86868b; line-height: 1.5; border-top: 1px solid var(--wp--preset--color--line, #d2d2d7); padding-top: 1.25rem; margin-top: 3rem; }
.cs-footnotes p { margin: .3rem 0; font-size: .75rem; }

/* ---------- CTA final ---------- */
.cs-cta { text-align: center; }
.cs-cta h2 { margin-bottom: .75rem; }
.cs-cta .wp-block-buttons { justify-content: center; margin-top: 1.5rem; gap: 1.25rem; align-items: center; }

/* ---------- Articole / ghiduri ---------- */
.cs-article { max-width: 760px; margin-left: auto; margin-right: auto; }
.cs-article h2 { font-size: clamp(1.6rem, 3vw, 2.125rem); margin-top: 2.75rem; }
.cs-article h3 { font-size: 1.375rem; margin-top: 2rem; }
.cs-article p, .cs-article li { font-size: 1.125rem; line-height: 1.65; color: var(--wp--preset--color--ink, #1d1d1f); }
.cs-article ul, .cs-article ol { padding-left: 1.3rem; }
.cs-article li { margin-bottom: .45rem; }
.cs-meta { color: var(--wp--preset--color--muted, #6e6e73); font-size: .9375rem; }
.cs-summary { background: var(--wp--preset--color--mist, #f5f5f7); border-radius: 20px; padding: 1.5rem 1.75rem; }
.cs-summary p, .cs-summary li { font-size: 1.0625rem; }
.cs-summary h2, .cs-summary h3 { margin-top: 0; font-size: 1.125rem; letter-spacing: -0.01em; }
.cs-note { border-left: 3px solid var(--wp--preset--color--accent, #0a6ad8); padding-left: 1.1rem; color: #424245; }
.cs-legal p, .cs-legal li { font-size: 1rem; line-height: 1.6; }

/* ---------- Media ---------- */
.cs-media img { border-radius: 24px; }
.cs-shadow img { box-shadow: 0 24px 60px rgba(0,0,0,.12); }
.wp-block-embed.cs-video iframe { border-radius: 20px; }
.cs-video .wp-block-embed__wrapper { border-radius: 20px; overflow: hidden; }

/* ---------- Subsol ---------- */
.cs-footer { background: var(--wp--preset--color--mist, #f5f5f7); color: var(--wp--preset--color--muted, #6e6e73); font-size: .8125rem; padding-top: 2.5rem; padding-bottom: 2rem; }
.cs-footer h2, .cs-footer h3, .cs-footer h4 { font-size: .8125rem; font-weight: 600; color: var(--wp--preset--color--ink, #1d1d1f); letter-spacing: 0; margin-bottom: .6rem; }
.cs-footer ul { list-style: none; padding: 0; margin: 0; }
.cs-footer li { margin: 0 0 .5rem; }
.cs-footer a { color: #424245; }
.cs-footer a:hover { color: var(--wp--preset--color--ink, #1d1d1f); }
.cs-footer .cs-footer-cols { gap: 1.5rem !important; }
.cs-footer .cs-footer-bottom { border-top: 1px solid var(--wp--preset--color--line, #d2d2d7); padding-top: 1rem; margin-top: 2rem; gap: 1rem; }
.cs-footer p { font-size: .8125rem; }

/* ---------- Mobil ---------- */
@media (max-width: 781px) {
	.cs-tiles > .wp-block-column, .cs-quotes > .wp-block-column { flex-basis: 100% !important; }
	.cs-stats { row-gap: 2rem !important; }
	.cs-hero .wp-block-buttons { gap: .9rem; }
	.cs-split { gap: 1.5rem !important; }
}

/* Titluri centrate cu subtitlu */
.wp-block-heading.cs-center { text-align: center; }
.wp-block-heading.cs-center + .cs-sub, .wp-block-heading.cs-center + .cs-lead { text-align: center; margin-left: auto; margin-right: auto; }
.cs-stat .cs-num { white-space: nowrap; font-size: clamp(2.75rem, 5vw, 4.25rem); }
.cs-mist .cs-summary { background: #fff; }

/* Navigation styles consolidated in 1.5.0. */
/* Shared responsive navigation. One menu source, no WordPress overlay overrides. */
.cs-menu-open { display: none; }
.cs-menu-dialog:not([open]) { display: none; }
.cs-menu-dialog, .cs-menu-dialog * { box-sizing: border-box; }
.cs-menu-dialog {
  position: fixed; inset: 0; margin: 0 0 0 auto; padding: 0; border: 0;
  width: min(100%, 480px); max-width: 100%; height: 100vh; height: 100dvh;
  max-height: 100vh; max-height: 100dvh; overflow: hidden;
  color: #1d1d1f; background: #fff; font-family: inherit; font-size: 1rem;
  box-shadow: -12px 0 60px rgb(0 0 0 / 12%);
}
.cs-menu-dialog[open] { display: flex; flex-direction: column; }
.cs-menu-dialog::backdrop { background: rgb(20 28 40 / 32%); }
.cs-menu-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex: none; min-height: 64px; padding: max(12px, env(safe-area-inset-top)) 20px 12px; border-bottom: 1px solid #ececf0; }
.cs-menu-logo { display: flex; min-width: 0; }
.cs-menu-logo img { width: 160px; max-width: 100%; height: auto; }
.cs-menu-dialog button { font-family: inherit; cursor: pointer; }
.cs-menu-close, .cs-menu-back { border: 0; background: none; font-size: .875rem; color: #1d1d1f; padding: 8px 0; min-height: 44px; }
.cs-menu-close { display: flex; gap: 8px; align-items: center; flex: none; }
.cs-menu-close span { font-size: 1.8rem; line-height: 1; }
.cs-menu-body { min-height: 0; overflow-y: auto; overscroll-behavior: contain; flex: 1; padding: 8px 20px 12px; scrollbar-width: thin; }
.cs-menu-back { color: #0a6ad8; }
.cs-menu-back[hidden] { display: none; }
.cs-menu-title { font-size: 1.5rem; letter-spacing: -.025em; font-weight: 650; line-height: 1.25; margin: 12px 0; }
.cs-menu-list { list-style: none; margin: 0; padding: 0; }
.cs-menu-list li { margin: 0; padding: 0; border-bottom: 1px solid #e7e7eb; }
.cs-menu-row { width: 100%; min-height: 48px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 4px; border: 0; border-radius: 0; background: transparent; text-align: left; font-size: 1rem; line-height: 1.35; font-weight: 500; color: #1d1d1f; text-decoration: none; overflow-wrap: anywhere; }
.cs-menu-row:hover { color: #0a6ad8; background: #f4f8fe; text-decoration: none; }
.cs-menu-arrow { font-size: 1.4rem; color: #0a6ad8; flex: none; line-height: 1; }
.cs-menu-footer { flex: none; background: #fff; border-top: 1px solid #e7e7eb; padding: 8px 20px max(16px, env(safe-area-inset-bottom)); }
.cs-menu-quick { display: flex; gap: 24px; }
.cs-menu-quick a { display: inline-flex; align-items: center; min-height: 44px; font-size: .9375rem; text-decoration: none; color: #424245; }
.cs-menu-demo { display: flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 16px; border-radius: 12px; color: #fff; background: #0a6ad8; font-size: 1rem; font-weight: 600; line-height: 1.4; text-decoration: none; }
.cs-menu-demo:hover { color: #fff; background: #0857b3; text-decoration: none; }
.cs-menu-lock, .cs-menu-lock body { overflow: hidden; }
.cs-menu-dialog :focus-visible, .cs-menu-open:focus-visible { outline: 3px solid #7fb3f0; outline-offset: 2px; }
.cs-menu-title:focus:not(:focus-visible) { outline: none; }
@media (max-width: 1199px) {
  .cs-header.cs-nav-ready .wp-block-navigation, .cs-header.cs-nav-ready .cs-header-actions { display: none !important; }
  .cs-header.cs-nav-ready .cs-header-inner { justify-content: space-between; gap: 12px; }
  .cs-header .cs-menu-open { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 44px; margin-left: auto; padding: 9px 14px; background: #fff; border: 1px solid #d2d2d7; border-radius: 999px; font: inherit; font-size: .9375rem; font-weight: 550; color: #1d1d1f; cursor: pointer; }
  .cs-menu-icon {box-sizing:border-box; width: 18px; height: 14px; flex: none; border-top: 2px solid currentColor; border-bottom: 2px solid currentColor; position: relative; }
  .cs-menu-icon::before { content: ''; position: absolute; left: 0; right: 0; top: 4px; border-top: 2px solid currentColor; }
}
@media (max-width: 359px) { .cs-menu-top, .cs-menu-body, .cs-menu-footer { padding-left: 16px; padding-right: 16px; } .cs-menu-logo img { width: 140px; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
@media print { .cs-menu-dialog, .cs-menu-open { display: none !important; } }

.cs-category-path{font-size:.9rem;color:#52525b;max-width:1240px;margin:24px auto 0;padding:0 24px}.cs-category-path a{color:#0a6ad8}.cs-category-grid .cs-tile{height:100%;box-sizing:border-box}.cs-category-grid h3{font-size:clamp(1.5rem,2.5vw,2rem)}.cs-category-grid .wp-block-column{min-width:0}.cs-header .wp-block-navigation{font-size:13px}.cs-header .wp-block-navigation__container{gap:18px}.cs-header-actions{gap:12px!important}.cs-language-switch{white-space:nowrap;font-size:.875rem}.cs-menu-quick{flex-wrap:wrap;gap:16px}.cs-menu-row{min-height:46px;padding:10px 4px}@media(min-width:1200px){.cs-header .cs-header-inner{gap:16px}.cs-header .wp-block-site-logo img{width:130px}.cs-header-actions .wp-block-button__link{padding:10px 14px;font-size:13px}}
