/*
Theme Name: TzurSafe Precision Momentum
Theme URI: https://example.com/
Author: Generated by ChatGPT
Description: RTL WordPress theme based on the uploaded Precision Momentum diagonal web design. Built as a clean corporate theme for food safety, environmental health and business licensing.
Version: 2.1.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
Text Domain: tzursafe-precision
*/

:root {
  --background:#f8faf6; --surface:#f8faf6; --surface-mint:#f7faf5; --surface-container:#edeeeb;
  --outline-variant:#c0c9bf; --on-background:#191c1a; --on-surface:#191c1a; --on-surface-variant:#404941;
  --primary:#003319; --primary-container:#004c28; --on-primary:#ffffff; --primary-fixed-dim:#93d5a5;
  --secondary:#b5213f; --secondary-container:#fe5970; --secondary-fixed-dim:#ffb2b7; --on-secondary:#ffffff;
  --tertiary-container:#3e4240;
}
html { scroll-behavior:smooth; }
body { font-family:'Noto Sans Hebrew','Hanken Grotesk',sans-serif; background-color:var(--background); color:var(--on-background); overflow-x:hidden; margin:0; }
a { text-decoration:none; }
img { max-width:100%; height:auto; }
.px-margin { padding-left:32px; padding-right:32px; }
.text-display-lg { font-size:clamp(42px, 6vw, 72px); font-weight:900; line-height:1.05; letter-spacing:-0.02em; }
.text-headline-lg { font-size:clamp(28px, 4vw, 38px); font-weight:800; line-height:1.2; }
.text-body-md { font-size:16px; line-height:1.6; }
.font-display-lg,.font-headline-lg,.font-body-md { font-family:'Noto Sans Hebrew','Hanken Grotesk',sans-serif; }
.font-label-sm { font-family:'JetBrains Mono','Noto Sans Hebrew',monospace; font-size:12px; letter-spacing:.05em; }
.bg-background{background-color:var(--background)!important}.bg-surface{background-color:var(--surface)!important}.bg-surface-mint{background-color:var(--surface-mint)!important}.bg-primary{background-color:var(--primary)!important}.bg-secondary{background-color:var(--secondary)!important}.bg-secondary-container{background-color:var(--secondary-container)!important}.bg-tertiary-container{background-color:var(--tertiary-container)!important}
.text-on-background{color:var(--on-background)!important}.text-on-surface{color:var(--on-surface)!important}.text-on-surface-variant{color:var(--on-surface-variant)!important}.text-primary{color:var(--primary)!important}.text-secondary{color:var(--secondary)!important}.text-on-primary{color:var(--on-primary)!important}.text-on-secondary{color:var(--on-secondary)!important}.text-primary-fixed-dim{color:var(--primary-fixed-dim)!important}.text-secondary-fixed-dim{color:var(--secondary-fixed-dim)!important}.text-secondary-container{color:var(--secondary-container)!important}
.border-outline-variant\/30{border-color:rgb(192 201 191 / .3)!important}.border-outline-variant{border-color:var(--outline-variant)!important}.border-primary{border-color:var(--primary)!important}.border-secondary{border-color:var(--secondary)!important}
.bg-primary\/10{background-color:rgb(0 51 25 / .10)!important}.bg-primary\/20{background-color:rgb(0 51 25 / .20)!important}.bg-primary\/5{background-color:rgb(0 51 25 / .05)!important}.bg-secondary\/10{background-color:rgb(181 33 63 / .10)!important}.bg-secondary\/5{background-color:rgb(181 33 63 / .05)!important}
.clip-path-slant-top { clip-path: polygon(0 10%, 100% 0, 100% 100%, 0 100%); }
.clip-path-card-slant { clip-path: polygon(0 0, 100% 0, 92% 100%, 0 100%); }
.material-symbols-outlined { font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24; }
.glass-panel { backdrop-filter:blur(12px); background-color:rgba(255,255,255,.78); border:1px solid rgba(255,255,255,.3); }
.momentum-btn { clip-path:polygon(0 0,100% 0,90% 100%,0 100%); transition:all .3s cubic-bezier(.4,0,.2,1); border:0; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; }
.momentum-btn:hover { clip-path:polygon(5% 0,100% 0,95% 100%,0 100%); transform:translateX(-4px); }
.diagonal-bg { position:absolute; width:150%; height:100%; top:0; left:-25%; background:linear-gradient(105deg,transparent 40%,rgba(0,51,25,.03) 40%); transform:skewY(-6deg); z-index:-1; }
.screen-reader-text { position:absolute; left:-9999px; }

/* Header + logo sizing */
.site-header .custom-logo-link { display:flex; align-items:center; line-height:0; }
.site-header .custom-logo { width:auto !important; height:auto !important; max-height:56px !important; max-width:190px !important; object-fit:contain; }
.site-brand { min-height:58px; }
.main-menu { list-style:none; display:flex; gap:2rem; margin:0; padding:0; align-items:center; }
.main-menu li { margin:0; padding:0; }
.main-menu a { color:var(--on-surface); font-weight:800; font-size:16px; transition:color .2s ease; }
.current-menu-item > a, .main-menu a:hover { color:var(--secondary); }
.menu-toggle { border:0; background:transparent; cursor:pointer; display:none; }
.header-cta { white-space:nowrap; }

/* Footer */
.site-footer { color:#fff; }
.site-footer .custom-logo-link { display:flex; line-height:0; background:rgba(255,255,255,.95); padding:8px 12px; border-radius:2px; }
.site-footer .custom-logo { width:auto !important; height:auto !important; max-height:48px !important; max-width:170px !important; object-fit:contain; }
.footer-copy { color:rgba(255,255,255,.78); }
.footer-title { color:var(--secondary-container); }
.footer-menu { list-style:none; margin:0; padding:0; }
.footer-link, .footer-menu a { color:rgba(255,255,255,.78); transition:color .2s ease, transform .2s ease; font-family:'Noto Sans Hebrew','Hanken Grotesk',sans-serif; }
.footer-link:hover, .footer-menu a:hover { color:#fff; transform:translateX(-3px); }
.footer-bottom { border-color:rgba(255,255,255,.14); color:rgba(255,255,255,.62); }
.footer-icon { color:rgba(255,255,255,.7); transition:color .2s ease; }
.footer-icon:hover { color:var(--secondary-container); }

/* Content */
.entry-content { max-width:900px; margin:120px auto 60px; padding:0 32px; line-height:1.8; }
.entry-content h1,.entry-content h2,.entry-content h3 { color:var(--primary); font-weight:900; }
.wp-block-button__link { background:var(--secondary); color:#fff; border-radius:0; }
.stat-card { display:flex; flex-direction:column; align-items:center; }
.credential-card { clip-path: polygon(0 0, 100% 0, 96% 100%, 0 100%); }
.floating-label { position:absolute; top:1rem; right:0; color:var(--on-surface-variant); font-family:'JetBrains Mono','Noto Sans Hebrew',monospace; text-transform:uppercase; transition:all .2s ease; pointer-events:none; }
.peer:focus ~ .floating-label, .peer:not(:placeholder-shown) ~ .floating-label { top:-1rem; font-size:12px; color:var(--secondary); }
.lead-panel input, .lead-panel textarea, .lead-panel select { border-radius:0; color:var(--on-surface); }

/* About */
.about-lead { color:var(--on-surface-variant); }
.about-mini-card { background:var(--surface-mint); border:1px solid rgba(192,201,191,.45); padding:28px; min-height:190px; transition:all .25s ease; }
.about-mini-card:hover { transform:translateY(-4px); box-shadow:0 20px 45px rgba(0,51,25,.08); }
.about-mini-card .material-symbols-outlined { color:var(--secondary); font-size:42px; margin-bottom:22px; display:block; }
.about-mini-card h3 { color:var(--primary); font-weight:900; font-size:20px; margin:0 0 10px; }
.about-mini-card p { color:var(--on-surface-variant); line-height:1.7; margin:0; }

@media (max-width: 767px){
  .px-margin{padding-left:20px;padding-right:20px}
  .text-display-lg{font-size:42px}
  .clip-path-card-slant{clip-path:polygon(0 0,100% 0,96% 100%,0 100%)}
  .menu-toggle{display:block}
  .header-cta{display:none!important}
  .site-header .custom-logo{max-height:48px!important; max-width:150px!important}
  .main-navigation{position:absolute; top:100%; left:0; right:0; background:rgba(248,250,246,.98); border-bottom:1px solid rgba(192,201,191,.5); padding:20px; box-shadow:0 20px 30px rgba(0,0,0,.08)}
  .main-navigation.is-open{display:block!important}
  .main-menu{display:flex; flex-direction:column; align-items:flex-start; gap:16px}
  .footer-brand{align-items:flex-start; flex-direction:column}
  .site-footer .custom-logo{max-height:42px!important; max-width:150px!important}
}

/* Clients scroller */
.clients-frame { position:relative; overflow:hidden; background:var(--surface-mint); border:1px solid rgba(192,201,191,.55); padding:28px 0; box-shadow:0 24px 60px rgba(0,51,25,.08); }
.clients-frame:before,.clients-frame:after{content:""; position:absolute; top:0; bottom:0; width:90px; z-index:2; pointer-events:none;}
.clients-frame:before{right:0; background:linear-gradient(90deg, transparent, var(--surface-mint));}
.clients-frame:after{left:0; background:linear-gradient(270deg, transparent, var(--surface-mint));}
.clients-track{display:flex; gap:20px; width:max-content; animation:tzursafeClientScroll 32s linear infinite; padding-inline:20px;}
.clients-frame:hover .clients-track{animation-play-state:paused;}
.client-logo-card{width:190px; min-height:132px; background:#fff; border:1px solid rgba(192,201,191,.5); display:flex; flex-direction:column; align-items:center; justify-content:center; padding:18px; clip-path:polygon(0 0,100% 0,94% 100%,0 100%); box-shadow:0 10px 25px rgba(0,51,25,.05);}
.client-logo-inner{height:58px; display:flex; align-items:center; justify-content:center; width:100%;}
.client-logo{max-height:58px!important; width:auto!important; object-fit:contain; filter:none!important; opacity:1; transition:all .25s ease;}
.client-logo-card:hover .client-logo{filter:none!important; opacity:1; transform:scale(1.04);}
.client-caption{margin-top:14px; font-weight:900; color:var(--primary); text-align:center; font-size:14px; line-height:1.35;}
.client-name-fallback{font-weight:900; color:var(--primary); text-align:center; font-size:20px; line-height:1.25;}
@keyframes tzursafeClientScroll{from{transform:translateX(0)}to{transform:translateX(50%)}}
@media (prefers-reduced-motion: reduce){.clients-track{animation:none; flex-wrap:wrap; width:auto; justify-content:center;}}
@media (max-width: 767px){.clients-frame{padding:20px 0}.client-logo-card{width:150px; min-height:112px}.clients-track{gap:14px; animation-duration:24s}.clients-frame:before,.clients-frame:after{width:40px}}

/* Editable home hero image */
.hero-visual-panel { position:relative; }
.hero-editor-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; z-index:0; }
.hero-image-overlay { position:absolute; inset:0; background:linear-gradient(135deg, rgba(0,51,25,.82), rgba(0,51,25,.48) 42%, rgba(181,33,63,.28)); pointer-events:none; z-index:1; }
.hero-visual-copy { z-index:2; max-width:520px; }
.hero-visual-panel.has-editor-image .hero-visual-copy { background:rgba(255,255,255,.82); backdrop-filter:blur(8px); border-right:6px solid var(--secondary); box-shadow:0 24px 60px rgba(0,51,25,.22); }
.hero-visual-panel.has-editor-image .hero-visual-heading { color:var(--primary)!important; }
.hero-visual-panel.has-editor-image .hero-visual-description { color:var(--on-surface-variant)!important; }
@media (max-width: 1023px){ .hero-visual-panel.has-editor-image .hero-visual-copy{padding:28px;} }


/* Service pages - v1.4 */
.service-card-pro { min-height: 310px; }
.service-card-pro p { min-height: 78px; }
.service-content { color: var(--on-surface); font-size: 18px; line-height: 1.9; }
.service-content h2 { color: var(--primary); font-size: 34px; line-height: 1.25; font-weight: 900; margin: 0 0 24px; }
.service-content h3 { color: var(--primary); font-size: 24px; font-weight: 900; margin: 38px 0 14px; }
.service-content p { margin: 0 0 22px; color: var(--on-surface-variant); }
.service-content ul { margin: 0 0 28px; padding-right: 22px; color: var(--on-surface-variant); }
.service-content li { margin-bottom: 10px; }
.service-side-card { clip-path: polygon(0 0,100% 0,96% 100%,0 100%); }
@media (max-width: 767px){
  .service-content { font-size: 16px; }
  .service-content h2 { font-size: 28px; }
  .service-content h3 { font-size: 22px; }
  .service-side-card { position: static!important; }
}


/* Visual refresh - v1.7 */
.hero-image-overlay { background: linear-gradient(135deg, rgba(0,51,25,.46), rgba(0,51,25,.18) 42%, rgba(181,33,63,.14)); }
.hero-visual-panel.has-editor-image .hero-visual-copy { max-width: 420px; }
.hero-visual-panel.has-editor-image .hero-visual-copy { background: rgba(255,255,255,.88); }

.home-visual-strip-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.visual-strip-card { position:relative; min-height:280px; overflow:hidden; background:var(--surface-mint); border:1px solid rgba(192,201,191,.45); box-shadow:0 18px 40px rgba(0,51,25,.08); clip-path:polygon(0 0,100% 0,94% 100%,0 100%); }
.visual-strip-card img { width:100%; height:100%; object-fit:cover; display:block; }
.visual-strip-card::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.04), rgba(0,51,25,.62)); }
.visual-strip-card .visual-strip-content { position:absolute; inset:auto 0 0 0; padding:22px; z-index:2; color:#fff; }
.visual-strip-card .visual-strip-content h3 { margin:0 0 8px; font-size:22px; font-weight:900; line-height:1.2; }
.visual-strip-card .visual-strip-content p { margin:0; font-size:14px; line-height:1.6; color:rgba(255,255,255,.86); }
.visual-strip-card .visual-strip-icon { position:absolute; top:18px; right:18px; z-index:2; width:52px; height:52px; display:flex; align-items:center; justify-content:center; border-radius:999px; background:rgba(255,255,255,.86); color:var(--primary); box-shadow:0 10px 26px rgba(0,0,0,.12); }

.service-card-media { margin:-32px -32px 24px; height:190px; overflow:hidden; position:relative; background:linear-gradient(135deg, rgba(0,51,25,.08), rgba(181,33,63,.08)); }
.service-card-media img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .45s ease; }
.service-card-pro:hover .service-card-media img { transform:scale(1.04); }
.service-card-media::after { content:""; position:absolute; inset:auto 0 0 0; height:45%; background:linear-gradient(180deg, rgba(0,0,0,0), rgba(0,51,25,.16)); }
.service-card-media .material-symbols-outlined { font-size:58px; color:var(--primary); }
.service-card-media.service-card-media--icon { display:flex; align-items:center; justify-content:center; }
.service-card-pro.has-thumb p { min-height: 64px; }

.about-hero-card.has-image { padding:0; overflow:hidden; }
.about-hero-card.has-image img { width:100%; height:100%; object-fit:cover; display:block; }
.about-hero-card.has-image .about-hero-overlay { position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,51,25,.15), rgba(0,51,25,.7)); }
.about-hero-card.has-image .about-hero-content { position:absolute; inset:auto 0 0 0; padding:28px; z-index:2; }

@media (max-width: 1023px){
  .home-visual-strip-grid { grid-template-columns:1fr; }
  .visual-strip-card { min-height:240px; }
}
