/*
Theme Name: Raggio Accessible
Description: Tema ibrido accessibile progettato per Raggio Visual Builder e Gutenberg.
Version: 0.8.16
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: raggio-accessible
*/
:root{--raggio-primary:#234f70;--raggio-secondary:#69563d;--raggio-accent:#ffb000;--raggio-page-bg:#fff;--raggio-surface:#fff;--raggio-surface-alt:#f4f6f8;--raggio-text:#17212b;--raggio-muted:#4b5563;--raggio-link:#164e79;--raggio-focus:#111;--raggio-error:#b42318;--raggio-success:#157347;--raggio-topbar-bg:#234f70;--raggio-topbar-text:#fff;--raggio-header-bg:#fff;--raggio-header-text:#17212b;--raggio-nav-bg:#69563d;--raggio-nav-text:#fff;--raggio-footer-bg:#234f70;--raggio-footer-text:#fff;--raggio-content:760px;--raggio-wide:1280px;--raggio-line-height:1.6;--raggio-radius:.75rem;--raggio-shadow-sm:0 4px 16px rgba(0,0,0,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--raggio-page-bg);color:var(--raggio-text);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:var(--raggio-line-height)}img{max-width:100%;height:auto}a{color:var(--raggio-link);text-decoration-thickness:.09em;text-underline-offset:.16em}a:hover{text-decoration-thickness:.14em}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid var(--raggio-focus);outline-offset:3px}.wp-block-button__link,button,input[type=submit],input[type=button]{min-height:44px}.raggio-skip-link{position:absolute;left:1rem;top:-8rem;z-index:100000;background:#fff;color:#111;padding:.75rem 1rem;border:2px solid currentColor}.raggio-skip-link:focus{top:1rem}.raggio-shell{width:min(calc(100% - 2rem),var(--raggio-wide));margin-inline:auto}.raggio-content{width:min(calc(100% - 2rem),var(--raggio-content));margin-inline:auto}.site-header,.site-footer{background:transparent;border:0;margin:0}.raggio-fallback-header{background:var(--raggio-surface);border-bottom:1px solid rgba(0,0,0,.1)}.raggio-fallback-footer{background:var(--raggio-primary);color:#fff}.raggio-fallback-header,.raggio-fallback-footer{display:flex;gap:1rem;align-items:center;justify-content:space-between;padding:1rem 0}.raggio-fallback-footer{align-items:flex-start;padding:2.5rem 0}.raggio-main{min-height:40vh}.raggio-page-title{width:min(calc(100% - 2rem),var(--raggio-wide));margin:2rem auto 1rem}.raggio-default-content{width:min(calc(100% - 2rem),var(--raggio-content));margin-inline:auto}.raggio-entry-content>:where(:not(.alignfull):not(.alignwide):not(.wp-block-raggio-section)){width:min(calc(100% - 2rem),var(--raggio-content));margin-left:auto;margin-right:auto}.raggio-entry-content>.alignwide{width:min(calc(100% - 2rem),var(--raggio-wide));margin-left:auto;margin-right:auto}.raggio-entry-content>.alignfull{width:100%;max-width:none}.raggio-site-logo{display:flex;align-items:center;min-width:0}.raggio-site-logo .custom-logo-link,.raggio-logo-link{display:inline-flex;align-items:center}.raggio-site-logo .custom-logo,.raggio-site-logo .raggio-logo-image{display:block;width:min(var(--rg-logo-d,180px),100%);height:auto;max-height:var(--rg-logo-h-d,72px);object-fit:contain}.raggio-logo-text{font-weight:700}.raggio-menu-toggle{display:none;min-width:44px;min-height:44px}@media(max-width:1024px){.raggio-site-logo .custom-logo,.raggio-site-logo .raggio-logo-image{width:min(var(--rg-logo-t,150px),100%);max-height:var(--rg-logo-h-t,56px)}}@media(max-width:767px){.raggio-site-logo .custom-logo,.raggio-site-logo .raggio-logo-image{width:min(var(--rg-logo-m,130px),100%);max-height:var(--rg-logo-h-m,48px)}.raggio-menu-toggle{display:inline-flex}.raggio-fallback-header .raggio-nav{display:none}.raggio-fallback-header.is-open .raggio-nav{display:block}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(forced-colors:active){:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid CanvasText}}
/* 0.7.5 — Design System defaults must not override explicit Gutenberg colors. */
a:hover{color:var(--raggio-link-hover,var(--raggio-link))}a:active{color:var(--raggio-link-active,var(--raggio-link-hover,var(--raggio-link)))}
.wp-element-button:not(.has-background),.wp-block-button__link:not(.has-background),.raggio-slider__cta{background:var(--raggio-button-fill,var(--raggio-button-bg,var(--raggio-accent)))}
.wp-element-button:not(.has-text-color),.wp-block-button__link:not(.has-text-color),.raggio-slider__cta{color:var(--raggio-button-text,#111)}
.wp-element-button:not(.has-background):hover,.wp-block-button__link:not(.has-background):hover,.raggio-slider__cta:hover{background:var(--raggio-button-hover-fill,var(--raggio-button-hover-bg,var(--raggio-accent)))}
.wp-element-button:not(.has-text-color):hover,.wp-block-button__link:not(.has-text-color):hover,.raggio-slider__cta:hover{color:var(--raggio-button-hover-text,var(--raggio-button-text,#111))}
.wp-element-button:not(.has-background):active,.wp-block-button__link:not(.has-background):active,.raggio-slider__cta:active{background:var(--raggio-button-active-fill,var(--raggio-button-active-bg,var(--raggio-button-bg)))}
.wp-element-button:not(.has-text-color):active,.wp-block-button__link:not(.has-text-color):active,.raggio-slider__cta:active{color:var(--raggio-button-active-text,var(--raggio-button-text,#111))}
.raggio-main,.raggio-front-page,.raggio-front-page>div{margin:0!important;padding:0!important}.raggio-front-page>div>.wp-block-raggio-section{margin-block-start:var(--rg-mt-d,0)!important;margin-block-end:var(--rg-mb-d,0)!important}.site-header+.raggio-main{margin-top:0!important;padding-top:0!important}
/* 0.7.5: logo sizing is independent from header row sizing. */
.raggio-site-logo{line-height:0;max-height:var(--rg-logo-h-d,72px);margin:0;padding:0}.raggio-site-logo .custom-logo-link,.raggio-logo-link{line-height:0;margin:0;padding:0}.raggio-site-logo .custom-logo,.raggio-site-logo .raggio-logo-image{margin:0;vertical-align:top}@media(max-width:1024px){.raggio-site-logo{max-height:var(--rg-logo-h-t,56px)}}@media(max-width:767px){.raggio-site-logo{max-height:var(--rg-logo-h-m,48px)}}


/* 0.7.6 — overlay layer and back to top. */
.raggio-top-anchor{position:absolute;top:0;left:0;width:1px;height:1px;overflow:hidden}
.raggio-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.raggio-back-to-top{position:fixed;bottom:var(--rg-overlay-offset,24px);z-index:var(--raggio-z-backtotop,800);display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:48px;padding:.65rem;border:2px solid currentColor;border-radius:999px;background:var(--raggio-surface,#fff);color:var(--raggio-text,#17212b);box-shadow:var(--raggio-shadow-sm);text-decoration:none}
.raggio-back-to-top--right{right:var(--rg-overlay-offset,24px)}.raggio-back-to-top--left{left:var(--rg-overlay-offset,24px)}
.raggio-back-to-top:hover{background:var(--raggio-accent,#ffb000);color:var(--raggio-accent-text,#111);text-decoration:none}
.raggio-back-to-top:active{transform:translateY(1px)}
.raggio-back-to-top[hidden]{display:none!important}

/* 0.8.2 — media/loghi stabili. */
.raggio-site-logo img{max-width:100%;}
/* 0.8.2 — Header → first Section spacing is explicit without zeroing native block spacing inside content. */
.site-header,.raggio-main,.raggio-front-page,.raggio-front-page>div{margin-block:0!important}
.site-header>.wp-block-raggio-section:last-child{margin-bottom:0!important}
.site-header+.raggio-main{margin-top:0!important;padding-top:0!important}
.raggio-main>.raggio-front-page:first-child,.raggio-front-page>div>.wp-block-raggio-section:first-child{margin-top:0!important}
.raggio-front-page>div>p:empty{display:none!important;margin:0!important;padding:0!important}
/* 0.8.2 — remove only accidental empty top-level blocks between global header and first page section. */
.site-header>p:empty,.raggio-front-page>div>p:empty{display:none!important;margin:0!important;padding:0!important;border:0!important;min-height:0!important}
.site-header{margin-block-end:0!important;padding-block-end:0!important}
.raggio-main{margin-block-start:0!important;padding-block-start:0!important}
.raggio-front-page,.raggio-front-page>div,.raggio-front-page>div>.wp-block-raggio-section:first-child{margin-block-start:0!important;padding-block-start:0!important}


/* 0.8.9 — compatibility for content saved with older Raggio palette presets. */
.has-muted-color{color:var(--raggio-muted,#4b5563)!important}
.has-link-color{color:var(--raggio-link,#164e79)!important}
.has-muted-background-color{background-color:var(--raggio-muted,#4b5563)!important}
.has-link-background-color{background-color:var(--raggio-link,#164e79)!important}

/* 0.8.9 — editor preview bridge for local Gutenberg text colors.
   The class can sit on the BlockListBlock wrapper OR on the block itself. */
.editor-styles-wrapper .raggio-local-text-color,
.editor-styles-wrapper .raggio-local-text-color.wp-block-heading,
.editor-styles-wrapper p.raggio-local-text-color,
.editor-styles-wrapper li.raggio-local-text-color,
.editor-styles-wrapper blockquote.raggio-local-text-color,
.editor-styles-wrapper .raggio-local-text-color > .wp-block-heading,
.editor-styles-wrapper .raggio-local-text-color > p,
.editor-styles-wrapper .raggio-local-text-color > blockquote,
.editor-styles-wrapper .raggio-local-text-color .block-editor-rich-text__editable{
  color:var(--raggio-local-text-color)!important;
}

/* 0.8.9 — `has-text-color` is intentionally never assigned a concrete color.
   It is a WordPress generic marker, not a Raggio palette preset. */

/* 0.8.14 — reusable Design System gradients on native content blocks. */
.raggio-bg-gradient-1-local{background:var(--raggio-gradient-1)!important}.raggio-bg-gradient-2-local{background:var(--raggio-gradient-2)!important}.raggio-bg-gradient-3-local{background:var(--raggio-gradient-3)!important}
.raggio-text-gradient-1,.raggio-text-gradient-2,.raggio-text-gradient-3{background-clip:text!important;-webkit-background-clip:text!important;color:transparent!important;-webkit-text-fill-color:transparent!important}
.raggio-text-gradient-1{background-image:var(--raggio-gradient-1)!important}.raggio-text-gradient-2{background-image:var(--raggio-gradient-2)!important}.raggio-text-gradient-3{background-image:var(--raggio-gradient-3)!important}
.wp-block-button.raggio-bg-gradient-1-local .wp-block-button__link{background:var(--raggio-gradient-1)!important}.wp-block-button.raggio-bg-gradient-2-local .wp-block-button__link{background:var(--raggio-gradient-2)!important}.wp-block-button.raggio-bg-gradient-3-local .wp-block-button__link{background:var(--raggio-gradient-3)!important}
.wp-block-button.raggio-text-gradient-1 .wp-block-button__link,.wp-block-button.raggio-text-gradient-2 .wp-block-button__link,.wp-block-button.raggio-text-gradient-3 .wp-block-button__link{background-clip:text!important;-webkit-background-clip:text!important;color:transparent!important;-webkit-text-fill-color:transparent!important}
.wp-block-button.raggio-text-gradient-1 .wp-block-button__link{background-image:var(--raggio-gradient-1)!important}.wp-block-button.raggio-text-gradient-2 .wp-block-button__link{background-image:var(--raggio-gradient-2)!important}.wp-block-button.raggio-text-gradient-3 .wp-block-button__link{background-image:var(--raggio-gradient-3)!important}
