/*
Theme Name: Cromagrafyc
Theme URI: https://www.cromagrafyc.com.br/
Author: Cromagrafyc
Description: Tema institucional próprio com conteúdo Gutenberg editável e direção visual aprovada.
Version: 0.2.17
Requires at least: 6.6
Requires PHP: 8.3
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: cromagrafyc
*/

/* The approved composition is in assets/css/approved.css. These rules adapt
   native WordPress blocks and menus without changing the editorial content. */
.site-content,.site-content>.wp-block-group{margin-block:0}
.site-content .wp-block-group,.site-content .wp-block-image,.site-content .wp-block-buttons{box-sizing:border-box}
.site-content .wp-block-image:not(.hero-figure){margin:0}
.site-content .hero-figure{margin-top:0;margin-bottom:0;margin-left:0}
.site-content .hero-figure figcaption,.site-content .structure-grid figcaption{margin:0;text-align:left}
.site-content .wp-block-image img{max-width:100%;vertical-align:middle}
.site-content .wp-block-image>a{display:block;width:100%;height:100%}
.site-content .wp-block-buttons{gap:24px}
.site-content .wp-block-heading{margin:0}
.site-content .hero-description{margin-top:24px!important}
.site-content .hero-location{margin-top:34px!important}
.site-content .capability-grid .capability-title{font-size:15px;font-weight:500;color:var(--blue);line-height:1.65;margin:0}
.site-content .capability-grid .capability-title+p{margin-top:5px}
.site-content .product-info .product-description{display:block;font-size:13px;line-height:1.65;color:var(--muted);margin:10px 0 0;letter-spacing:0}
.site-content .product-info h3>a{display:flex;justify-content:space-between;gap:12px;width:100%;align-items:center}
.product-visual img{height:100%!important;width:100%;object-fit:cover}
.hero-figure img,.structure-grid>figure img{height:100%!important;object-fit:cover}
/* Home framing only: show the lower two thirds of the unchanged factory photo.
   Uniform cover scaling keeps machinery geometry; the caption stays separate. */
.site-content .hero .hero-figure>img{position:absolute;inset:auto 0 0;width:100%;height:150%!important;object-fit:cover;object-position:55% bottom}
/* Apply the same lower framing only to the main Structure photograph. */
.site-content .structure-grid>figure>img{position:absolute;inset:auto 0 0;width:100%;height:150%!important;object-fit:cover;object-position:center bottom}
.equipment-grid .wp-block-image{margin:0}
.equipment-grid .wp-block-image img{width:100%;height:225px;object-fit:cover}
.equipment-grid article>.wp-block-image+h3{margin-top:22px}
.site-content .text-link>a{color:inherit;text-decoration:none}
.site-content .text-link>a:hover{text-decoration:none}
.site-content p.contact-phone{margin-top:23px!important;font-size:23px!important;line-height:1.4}
.site-content p.contact-phone a{color:inherit}
.site-content .cta-row{margin:0;padding:0;gap:0}

/* Core/button places the interactive element inside a wrapper. */
.site-content .wp-block-button.button{padding:0;border:0;background:none;min-height:0;display:inline-flex}
.site-content .wp-block-button.button>.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:28px;background:var(--blue);border:1px solid var(--blue);color:white;border-radius:0;min-height:50px;padding:12px 22px;font-size:14px;line-height:1.4;font-weight:500;text-decoration:none;box-shadow:none}
.site-content .wp-block-button.button>.wp-block-button__link:hover{background:#0c2d46;border-color:#0c2d46}
.site-content .wp-block-button.button-light>.wp-block-button__link{background:transparent;border-color:#a9becd;color:white}
.site-content .wp-block-button.button-light>.wp-block-button__link:hover{background:white;color:var(--blue);border-color:white}
.site-content .wp-block-button.text-link{padding:0 0 7px;border-radius:0;background:none;min-height:0}
.site-content .wp-block-button.text-link>.wp-block-button__link{padding:0;border:0;border-radius:0;background:none;color:inherit;font-size:inherit;line-height:1.5;font-weight:500;box-shadow:none;text-decoration:none}
.site-content .filters{gap:8px}
.site-content .wp-block-button.filter{padding:0;border:0;background:none;border-radius:0}
.site-content .wp-block-button.filter>.wp-block-button__link{font-size:13px;font-weight:400;line-height:1.5;color:var(--muted);background:none;border:1px solid transparent;border-radius:0;padding:8px 14px;text-decoration:none;box-shadow:none}
.site-content .wp-block-button.filter.active>.wp-block-button__link{background:white;border-color:#c5d2dc;color:var(--blue)}
.site-content .wp-block-button.filter>.wp-block-button__link:hover{color:var(--blue)}
.site-content .jit-tabs.wp-block-buttons{display:grid;gap:0}
.site-content .jit-tabs .wp-block-button{width:100%;margin:0}
.site-content .jit-tabs .wp-block-button__link{display:block;width:100%;text-align:left;padding:17px 14px 17px 0;border:0;border-bottom:2px solid transparent;border-radius:0;background:none;box-shadow:none;color:#c5d6e3;font-size:14px;font-weight:400;line-height:1.5;text-decoration:none}
.site-content .jit-tabs .wp-block-button__link[aria-selected=true]{border-bottom-color:var(--orange);color:white}
.site-content .jit-tabs .wp-block-button__link:hover{color:white}
.site-content .jit-step[hidden],.site-content .product-card[hidden]{display:none!important}
.site-content .jit-step:focus-visible{outline:2px solid white;outline-offset:5px}
.site-content .jit-step+.jit-step{border-top:1px solid #ffffff26}

/* Native WordPress menus keep the same composition as the approved HTML. */
.primary-menu,.footer-menu,.submenu{list-style:none;margin:0;padding:0}
.primary-menu{display:flex;gap:inherit;align-items:center}
.primary-menu>li>a:not(.nav-contact){display:flex;padding:15px 0;white-space:nowrap}
.primary-menu>li>a:hover{color:#a63d07}
.primary-menu .nav-group summary{font-size:inherit;font-weight:inherit}
.primary-menu .submenu{padding:12px 0}
.primary-menu .submenu li{margin:0}
.primary-menu .submenu a{font-weight:400}
.primary-menu .menu-overview{border-bottom:1px solid var(--line)}
.footer-menu{display:flex;flex-direction:column;gap:11px;align-items:flex-start}
.footer-menu li{margin:0;max-width:100%}
.footer-menu a{display:block}
.brand-image{object-fit:contain}
.admin-bar .site-header{top:32px}
.entry-page{padding-top:65px;padding-bottom:70px;min-height:35vh}
.entry-header{margin-bottom:30px}
.entry-content>p,.entry-content>ul,.entry-content>ol{margin-bottom:20px}
.entry-content ul,.entry-content ol{padding-left:24px}
.entry-content a,.post-summary a{text-decoration:underline;text-underline-offset:3px}
.entry-content .alignwide{max-width:1440px}
.post-summary{margin-bottom:35px}
.post-summary h2{margin-bottom:15px}
.page-links{padding-top:25px;padding-bottom:25px}
.wp-block-button__link:focus-visible{outline:3px solid var(--orange);outline-offset:5px}

@media(max-width:1190px){.site-content .hero-actions .wp-block-button.button>.wp-block-button__link{font-size:13px;padding:12px 17px}.equipment-grid .wp-block-image img{height:200px}}
@media(max-width:980px){.primary-menu>li>a:not(.nav-contact){white-space:normal}.equipment-grid .wp-block-image img{height:175px}.site-content .capability-grid .capability-title{font-size:13px}}
@media(max-width:820px){
  .primary-menu{flex-direction:column;gap:0;align-items:stretch;width:100%}
  .primary-menu>li{border-bottom:1px solid var(--line)}
  .primary-menu>li>a:not(.nav-contact),.primary-menu .nav-group summary{padding:13px 0}
  .primary-menu .nav-group{border:0}
  .primary-menu .nav-contact{display:inline-flex;margin-bottom:5px}
  .primary-menu .submenu{padding:0 0 9px}
  .primary-menu .submenu a{padding:10px 16px}
  .equipment-grid .wp-block-image img{height:155px}
  body:not(.cromagrafyc-has-js) .site-header,body:not(.cromagrafyc-has-js) .header-main{height:auto}
  body:not(.cromagrafyc-has-js) .site-header{position:relative;top:auto}
  body:not(.cromagrafyc-has-js) .header-inner{flex-wrap:wrap;padding-top:8px}
  body:not(.cromagrafyc-has-js) .main-nav{display:flex;position:static;width:100%;box-shadow:none;border-bottom:0;max-height:none;padding-inline:0}
  body:not(.cromagrafyc-has-js) .menu-toggle{display:none}
}
@media(max-width:782px){.admin-bar .site-header{top:46px}}
@media(max-width:640px){
  .site-content .hero-description{margin-top:20px!important}
  .site-content .hero-location{margin-top:25px!important}
  .site-content .hero-actions{gap:19px;align-items:flex-start;flex-direction:column}
  .site-content .hero-actions .wp-block-button.button>.wp-block-button__link{min-height:48px}
  .site-content .filters{gap:3px}
  .site-content .wp-block-button.filter>.wp-block-button__link{padding:7px 9px;font-size:11px;min-height:36px}
  .site-content .capability-grid .capability-title{font-size:12px}
  .site-content .product-info .product-description{font-size:11px;margin-top:9px}
  .equipment-grid .wp-block-image img{height:auto;aspect-ratio:1.8}
  .site-content .jit-tabs.wp-block-buttons{gap:0 15px}
  .site-content .jit-tabs .wp-block-button__link{font-size:12px;padding:13px 0;border-bottom:1px solid #ffffff38;min-height:48px}
  .site-content .jit-tabs .wp-block-button__link[aria-selected=true]{border-bottom:2px solid var(--orange)}
  .footer-menu{gap:9px}
  .entry-page{padding-top:45px;padding-bottom:45px}
  .site-content p.contact-phone{font-size:22px!important}
}
@media(max-width:600px){.admin-bar .site-header{top:0}}
@media(max-width:480px){.site-content .product-info .product-description{font-size:14px}.site-content .capability-grid .capability-title{font-size:13px}}

/* Approved applications of the unchanged official transparent bitmap. */
.topbar-phones>a{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.topbar-phones .phone-icon{display:block;width:12px;height:12px;flex:none}
@media(max-width:1100px){.topbar-inner{flex-wrap:wrap;column-gap:16px;row-gap:6px;padding-block:6px}.topbar-phones{flex-wrap:wrap;row-gap:4px}.utility-nav{gap:16px}}
.site-header{--brand-full-height:86px;--brand-symbol-height:44px}
.site-header .brand{position:relative;width:calc(var(--brand-full-height)*370/406);height:var(--brand-full-height)}
.site-header .brand-full{display:block;height:var(--brand-full-height);opacity:1;transition:opacity .18s ease}
.site-header .brand .brand-full>.brand-image{width:auto;height:var(--brand-full-height);max-width:none;transition:none}
/* Original symbol bounds: x=95, y=5, width=185, height=198 in 370x406 PNG.
   Centre the crop without a translated clipping layer, and leave a 4px gutter.
   Bitmap scale, symbol centre and the outer header heights stay unchanged. */
.site-header .brand-symbol{position:absolute;inset:0;margin:auto;width:calc(var(--brand-symbol-height)*185/198 + 8px);height:calc(var(--brand-symbol-height) + 8px);overflow:hidden;transform:none;opacity:0;pointer-events:none;transition:opacity .18s ease}
.site-header .brand .brand-symbol>.brand-image{position:absolute;left:calc(var(--brand-symbol-height)*-95/198 + 4px);top:calc(var(--brand-symbol-height)*-5/198 + 4px);width:calc(var(--brand-symbol-height)*370/198);height:calc(var(--brand-symbol-height)*406/198);max-width:none;transition:none}
.site-header.is-compact .brand{height:60px}
.site-header.is-compact .brand-full{opacity:0;pointer-events:none}
.site-header.is-compact .brand-symbol{opacity:1}
/* Isolate the white scrolling surface from WebKit's dynamic browser chrome;
   this changes only its compositor layer, not its sticky offset or geometry. */
@supports(-webkit-touch-callout:none){.site-header .header-main{-webkit-transform:translateZ(0);transform:translateZ(0)}}
.footer .footer-logo{background:transparent;padding:0;width:96px}
.footer .footer-logo>.brand-image{width:96px;height:auto;filter:brightness(0) invert(1)}
/* Frame the intact 800x800 SVG in source coordinates x190/y145/w420/h497. */
.logo-motion{position:relative;display:block;overflow:hidden;aspect-ratio:420/497}
.site-header .brand-full .logo-motion{height:var(--brand-full-height);width:calc(var(--brand-full-height)*420/497);margin-inline:auto}
.logo-motion-object{position:absolute;left:calc(-100%*190/420);top:calc(-100%*145/497);width:calc(100%*800/420);height:calc(100%*800/497);max-width:none;border:0;opacity:0;pointer-events:none;transition:opacity .14s ease}
.logo-motion>.logo-static{display:block;width:100%;height:100%;object-fit:contain;transition:opacity .14s ease}
.site-header .brand .brand-full .logo-motion>.logo-static{width:100%;height:100%;max-width:100%}
.logo-motion.is-motion-visible>.logo-motion-object{opacity:1}
.logo-motion.is-motion-visible>.logo-static{opacity:0}
.footer .footer-logo .logo-motion{width:100%;filter:brightness(0) invert(1)}
.footer .footer-logo .logo-motion>.brand-image{width:100%;height:100%;object-fit:contain}
@media(max-width:980px){.site-header{--brand-full-height:77px}}
@media(max-width:820px){.site-header{--brand-full-height:72px;--brand-symbol-height:40px}.site-header.is-compact .brand{height:54px}}
@media(max-width:640px){.topbar-phones>a{gap:5px}.topbar-phones .phone-icon{width:11px;height:11px}.footer .footer-logo,.footer .footer-logo>.brand-image{width:76px}}
/* Owner-requested autoplay also applies with reduced motion; explicit pause remains available. */
@media(prefers-reduced-motion:reduce){body:not(.logo-motion-enabled) .logo-motion>.logo-motion-object{display:none!important}body:not(.logo-motion-enabled) .logo-motion>.logo-static{opacity:1!important}}
.logo-motion-toggle{display:inline-flex;align-items:center;border:0;padding:8px 0;background:transparent;color:inherit;font:inherit;font-size:11px;line-height:1.5;text-align:left;cursor:pointer;text-decoration:underline;text-underline-offset:4px}
.logo-motion-toggle[hidden]{display:none}
.logo-motion-toggle:hover{color:#fff}
.logo-motion-toggle:focus-visible{outline:2px solid var(--orange);outline-offset:4px}

/* Keyboard focus uses existing brand colors with sufficient contrast on each
   surface; the orange accent remains unchanged outside the focused state. */
:root{--focus-ring:var(--blue)}
.topbar,.jit,.footer{--focus-ring:#fff}
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible,.wp-block-button__link:focus-visible{outline-color:var(--focus-ring,var(--blue))}

/* Decorative contact symbols inherit the link color and add no spoken text. */
a[href^="tel:"]{--contact-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7.2 3.5 10 7.8 8.1 9.7a15.7 15.7 0 0 0 6.2 6.2l1.9-1.9 4.3 2.8v2.1a1.6 1.6 0 0 1-1.7 1.6A17.8 17.8 0 0 1 3.5 5.2 1.6 1.6 0 0 1 5.1 3.5h2.1Z'/%3E%3C/svg%3E")}
a[href^="mailto:"]{--contact-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='1.5'/%3E%3Cpath d='m3 6 9 7 9-7'/%3E%3C/svg%3E")}
a:is([href^="tel:"],[href^="mailto:"])::before{content:"";display:inline-block;width:.9em;height:.9em;max-width:15px;max-height:15px;flex:none;margin-right:.5em;vertical-align:-.1em;background-color:currentColor;-webkit-mask:var(--contact-icon) center/contain no-repeat;mask:var(--contact-icon) center/contain no-repeat}
.topbar-phones>a[href^="tel:"]::before{content:none}
.button:is([href^="tel:"],[href^="mailto:"]),.site-content .wp-block-button.button>.wp-block-button__link:is([href^="tel:"],[href^="mailto:"]){gap:10px;max-width:100%;white-space:normal;overflow-wrap:anywhere}
.button:is([href^="tel:"],[href^="mailto:"])::before,.site-content .wp-block-button.button>.wp-block-button__link:is([href^="tel:"],[href^="mailto:"])::before{margin-right:0}
p>a:is([href^="tel:"],[href^="mailto:"]){display:inline-flex;align-items:baseline;gap:.5em;max-width:100%;overflow-wrap:anywhere;vertical-align:baseline}
p>a:is([href^="tel:"],[href^="mailto:"])::before{margin-right:0;align-self:center}
@media(max-width:820px){.main-nav.open{max-height:var(--menu-available-height,calc(100dvh - 87px))}}
@media(max-width:820px){.utility-nav{flex-wrap:wrap;gap:8px 16px}.utility-nav>a.utility-ethics{display:inline-flex}}
