/*
Theme Name: Sycow Framework
Theme URI: https://sycow.fr
Author: Sycow Solutions
Description: Framework Sycow Solutions
Version: 117.1
Text Domain: sycow
*/

/* ==========================================================
   SYCOW UI CORE
   Base générique, pilotée par les variables issues de config.php.
   Les CSS client sont chargés APRÈS cette feuille et restent prioritaires.
   ========================================================== */

html{box-sizing:border-box;-webkit-text-size-adjust:100%}
*,*::before,*::after{box-sizing:inherit}
body{margin:0;background:var(--sy-background);color:var(--sy-text);font-family:var(--sy-font-body);font-size:var(--sy-font-size);line-height:var(--sy-line-height);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
img,svg,video{max-width:100%}img{height:auto}
a{color:var(--sy-link);text-underline-offset:.16em}a:hover{color:var(--sy-link-hover)}
button,input,select,textarea{font:inherit}
::selection{background:var(--sy-primary);color:var(--sy-btn-text)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Layout */
.sycow-fallback,.sycow-header-fallback,.sycow-footer-fallback,.sycow-search-form,.sycow-comments{color:var(--sy-text);font-family:var(--sy-font-body)}
.sycow-fallback{min-height:55vh;padding:clamp(42px,6vw,var(--sy-space-section)) var(--sy-space-gutter);background:var(--sy-background)}
.sycow-container{width:min(100%,var(--sy-container-width));margin-inline:auto}
.sycow-content{width:min(100%,var(--sy-content-width));margin-inline:auto}
.sycow-section{margin-top:clamp(54px,7vw,var(--sy-space-section))}
.sycow-section:first-child{margin-top:0}
.sycow-section-header{display:flex;align-items:end;justify-content:space-between;gap:var(--sy-space-lg);margin:0 0 var(--sy-space-lg)}
.sycow-section-title{margin:0;font:800 clamp(1.65rem,3vw,2.45rem)/1.15 var(--sy-font-heading);color:var(--sy-text)}

/* Surfaces */
.sycow-content-shell,.sycow-card,.sycow-empty,.sycow-404__card,.sycow-page-hero{background:var(--sy-surface);border:1px solid var(--sy-border);border-radius:var(--sy-radius-lg);box-shadow:var(--sy-shadow-sm)}
.sycow-content-shell{padding:clamp(24px,4vw,48px)}
.sycow-page-hero{padding:clamp(28px,5vw,58px);margin-bottom:clamp(32px,5vw,58px);overflow:hidden}
.sycow-page-hero--center{text-align:center}
.sycow-hero{padding:clamp(38px,7vw,84px);position:relative;overflow:hidden}
.sycow-hero__inner{max-width:880px}
.sycow-eyebrow{margin:0 0 var(--sy-space-sm);color:var(--sy-primary);font:800 .76rem/1.2 var(--sy-font-button);letter-spacing:.1em;text-transform:uppercase}
.sycow-muted{color:var(--sy-text-light)}

/* Typographie */
.sycow-entry-header,.sycow-archive-header{margin:0 0 var(--sy-space-xl)}
.sycow-archive-header{text-align:center}
.sycow-entry-title,.sycow-archive-title,.sycow-fallback h1,.sycow-fallback h2,.sycow-fallback h3,.sycow-fallback h4{font-family:var(--sy-font-heading);color:var(--sy-text);line-height:1.16}
.sycow-entry-title,.sycow-archive-title{font-size:clamp(2rem,4.2vw,3.45rem);letter-spacing:-.025em;margin:0 0 var(--sy-space-md)}
.sycow-entry-meta,.sycow-archive-description,.sycow-card__meta,.sycow-card__excerpt{color:var(--sy-text-light)}
.sycow-entry-meta,.sycow-card__meta{font-size:.88rem}
.sycow-archive-description{max-width:760px;margin-inline:auto;font-size:1.03rem;line-height:1.7}
.sycow-entry-content{font-size:1.03rem;line-height:var(--sy-line-height);overflow-wrap:anywhere}
.sycow-entry-content>*:first-child{margin-top:0}.sycow-entry-content>*:last-child{margin-bottom:0}
.sycow-entry-content img{border-radius:var(--sy-radius-sm)}
.sycow-entry-content blockquote{margin:var(--sy-space-lg) 0;padding:var(--sy-space-md) var(--sy-space-lg);border-left:4px solid var(--sy-primary);background:var(--sy-surface-soft);border-radius:0 var(--sy-radius-md) var(--sy-radius-md) 0}
.sycow-featured-image{margin:0 0 var(--sy-space-xl);overflow:hidden;border-radius:var(--sy-radius-md)}
.sycow-featured-image img{display:block;width:100%}

/* ==========================================================
   BOUTONS — famille unique
   ========================================================== */
:where(.sycow-btn,.sycow-search-submit,.sycow-comments input[type="submit"],.sycow-fallback input[type="submit"],.sycow-fallback button.button,.wp-element-button,.wp-block-button__link){
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  width:var(--sy-btn-width);min-height:var(--sy-btn-min-height);padding:var(--sy-btn-padding);
  border:var(--sy-btn-border);border-radius:var(--sy-btn-radius);
  background:var(--sy-btn-bg);color:var(--sy-btn-text)!important;
  font-family:var(--sy-font-button);font-size:var(--sy-btn-font-size);font-weight:var(--sy-btn-font-weight);line-height:1.1;
  text-align:center;text-decoration:none;cursor:pointer;appearance:none;
  transition:background var(--sy-motion-normal) var(--sy-motion-easing),color var(--sy-motion-normal) var(--sy-motion-easing),border-color var(--sy-motion-normal) var(--sy-motion-easing),transform var(--sy-motion-normal) var(--sy-motion-easing),box-shadow var(--sy-motion-normal) var(--sy-motion-easing)
}
:where(.sycow-btn,.sycow-search-submit,.sycow-comments input[type="submit"],.sycow-fallback input[type="submit"],.sycow-fallback button.button,.wp-element-button,.wp-block-button__link):hover{background:var(--sy-btn-bg-hover);color:var(--sy-btn-text-hover)!important;transform:translateY(-1px)}
:where(.sycow-btn,.sycow-search-submit,.sycow-comments input[type="submit"],.sycow-fallback input[type="submit"],.sycow-fallback button.button,.wp-element-button,.wp-block-button__link):active{transform:translateY(0)}
:where(.sycow-btn,.sycow-search-submit,.sycow-comments input[type="submit"],.sycow-fallback input[type="submit"],.sycow-fallback button.button,.wp-element-button,.wp-block-button__link):focus-visible{outline:none;box-shadow:var(--sy-focus-ring)}
:where(.sycow-btn,.sycow-search-submit,.sycow-comments input[type="submit"],.sycow-fallback input[type="submit"],.sycow-fallback button.button)[disabled],:where(.sycow-btn,.sycow-search-submit).is-disabled{opacity:.5;pointer-events:none;transform:none}
.sycow-btn--secondary{background:var(--sy-btn-secondary-bg)!important;color:var(--sy-btn-secondary-text)!important;border:var(--sy-btn-secondary-border)!important}
.sycow-btn--secondary:hover{background:var(--sy-btn-secondary-hover-bg)!important;color:var(--sy-btn-secondary-hover-text)!important}
.sycow-btn--ghost{background:transparent!important;color:var(--sy-text)!important;border-color:transparent!important}.sycow-btn--ghost:hover{background:var(--sy-surface-soft)!important}
.sycow-btn--text{min-height:auto;padding:4px 0;background:transparent!important;border:0!important;border-radius:0;color:var(--sy-link)!important}.sycow-btn--text:hover{background:transparent!important;color:var(--sy-link-hover)!important;transform:none}
.sycow-btn--sm{min-height:40px;padding:9px 14px;font-size:var(--sy-btn-font-size-sm)}
.sycow-btn--lg{min-height:54px;padding:16px 26px;font-size:var(--sy-btn-font-size-lg)}
.sycow-btn--block{width:100%}
.sycow-actions{display:flex;flex-wrap:wrap;gap:var(--sy-space-sm);align-items:center}.sycow-actions--center{justify-content:center}.sycow-actions--end{justify-content:flex-end}

/* Formulaires */
.sycow-search-form{width:min(100%,620px);margin-inline:auto}.sycow-search-form__bar{display:flex;gap:10px;align-items:stretch}
.sycow-search-field,.sycow-fallback input[type="text"],.sycow-fallback input[type="email"],.sycow-fallback input[type="tel"],.sycow-fallback input[type="number"],.sycow-fallback input[type="password"],.sycow-fallback input[type="search"],.sycow-fallback select,.sycow-fallback textarea,.sycow-comments input[type="text"],.sycow-comments input[type="email"],.sycow-comments input[type="url"],.sycow-comments textarea{width:100%;min-height:var(--sy-field-height);padding:var(--sy-field-padding);background:var(--sy-field-bg);color:var(--sy-field-text);border:var(--sy-field-border);border-radius:var(--sy-field-radius);outline:none}
.sycow-fallback textarea,.sycow-comments textarea{padding:14px 16px;min-height:140px;resize:vertical}
.sycow-search-field::placeholder,.sycow-fallback input::placeholder,.sycow-fallback textarea::placeholder,.sycow-comments input::placeholder,.sycow-comments textarea::placeholder{color:var(--sy-field-placeholder)}
.sycow-search-field:focus,.sycow-fallback input:focus,.sycow-fallback select:focus,.sycow-fallback textarea:focus,.sycow-comments input:focus,.sycow-comments textarea:focus{border-color:var(--sy-primary);box-shadow:var(--sy-field-focus)}

/* Cartes / listes */
.sycow-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:var(--sy-space-lg)}
.sycow-card{overflow:hidden;display:flex;flex-direction:column;min-width:0;transition:transform var(--sy-motion-normal) var(--sy-motion-easing),box-shadow var(--sy-motion-normal) var(--sy-motion-easing),border-color var(--sy-motion-normal) var(--sy-motion-easing)}
.sycow-card:hover{transform:translateY(-3px);box-shadow:var(--sy-shadow-md);border-color:var(--sy-primary)}
.sycow-card__media{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--sy-surface-soft)}
.sycow-card__media img{width:100%;height:100%;display:block;object-fit:cover;transition:transform var(--sy-motion-slow) var(--sy-motion-easing)}
.sycow-card:hover .sycow-card__media img{transform:scale(1.025)}
.sycow-card__body{display:flex;flex:1;flex-direction:column;padding:var(--sy-space-lg)}
.sycow-card__title{font-size:1.2rem;margin:var(--sy-space-sm) 0}.sycow-card__title a{text-decoration:none;color:var(--sy-text)}
.sycow-card__excerpt{line-height:1.65;margin-bottom:var(--sy-space-md)}
.sycow-card__actions{margin-top:auto;padding-top:var(--sy-space-sm)}
.sycow-empty{padding:var(--sy-space-xl);text-align:center;color:var(--sy-text-light)}

/* Pagination / navigation */
.navigation.pagination,.woocommerce-pagination{margin-top:var(--sy-space-xl)}
.navigation.pagination .nav-links,.woocommerce-pagination ul.page-numbers{display:flex!important;justify-content:center;gap:8px;flex-wrap:wrap;border:0!important;padding:0!important}
.navigation.pagination .page-numbers,.woocommerce-pagination .page-numbers li a,.woocommerce-pagination .page-numbers li span{display:inline-flex!important;min-width:42px;height:42px;padding:0 12px!important;align-items:center;justify-content:center;border:1px solid var(--sy-border)!important;border-radius:var(--sy-radius-sm);background:var(--sy-surface)!important;color:var(--sy-text)!important;text-decoration:none}
.navigation.pagination a.page-numbers:hover,.woocommerce-pagination .page-numbers li a:hover{border-color:var(--sy-primary)!important;color:var(--sy-primary)!important}
.navigation.pagination .current,.woocommerce-pagination .current{background:var(--sy-primary)!important;color:var(--sy-btn-text)!important;border-color:var(--sy-primary)!important}
.post-navigation{margin-top:var(--sy-space-xl)}.post-navigation .nav-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sy-space-sm)}.post-navigation a{display:flex;align-items:center;min-height:48px;padding:12px 16px;border:1px solid var(--sy-border);border-radius:var(--sy-btn-radius);background:var(--sy-surface);color:var(--sy-text);font-weight:700;text-decoration:none}.post-navigation a:hover{border-color:var(--sy-primary);background:var(--sy-surface-soft);color:var(--sy-primary)}.post-navigation .nav-next{text-align:right}

/* 404 */
.sycow-404{display:grid;place-items:center;min-height:60vh;text-align:center}.sycow-404__card{width:min(100%,700px);padding:clamp(32px,6vw,64px)}
.sycow-404__code{font:900 clamp(4.5rem,15vw,9rem)/.9 var(--sy-font-heading);color:var(--sy-primary);letter-spacing:-.06em;margin-bottom:var(--sy-space-md)}

/* Commentaires */
.sycow-comments{margin-top:var(--sy-space-xl)}.sycow-comments-list{list-style:none;padding:0;margin:0}.sycow-comments-list .comment{padding:var(--sy-space-lg);margin-bottom:var(--sy-space-md);background:var(--sy-surface);border:1px solid var(--sy-border);border-radius:var(--sy-radius-md)}
.sycow-comments-list .children{list-style:none;margin-top:var(--sy-space-md);padding-left:var(--sy-space-lg);border-left:2px solid var(--sy-border)}
.sycow-comments .comment-meta{font-size:.9rem;color:var(--sy-text-light)}.sycow-comments .comment-reply-link{display:inline-flex;margin-top:8px;color:var(--sy-link);font-weight:700;text-decoration:none}.sycow-comments .comment-reply-link:hover{color:var(--sy-link-hover)}
.sycow-comments .comment-respond{margin-top:var(--sy-space-xl);padding:clamp(20px,4vw,34px);background:var(--sy-surface-soft);border-radius:var(--sy-radius-lg)}.sycow-comments .comment-reply-title{margin-top:0;font-family:var(--sy-font-heading)}

/* Header */
.sycow-header-fallback{position:sticky;top:0;z-index:1000;background:var(--sy-surface);border-bottom:1px solid var(--sy-border)}
@supports(backdrop-filter:blur(14px)){.sycow-header-fallback{background:color-mix(in srgb,var(--sy-surface) 94%,transparent);backdrop-filter:blur(14px)}}
.sycow-header__inner{width:min(100%,var(--sy-container-width));min-height:var(--sy-header-height);margin:auto;padding:10px var(--sy-space-gutter);display:flex;align-items:center;gap:var(--sy-space-lg)}
.sycow-header__brand{display:inline-flex;align-items:center;gap:10px;min-width:0;color:var(--sy-text)!important;text-decoration:none;font:800 1.2rem/1.1 var(--sy-font-heading)}
.sycow-header__brand img{display:block;max-width:min(220px,34vw);max-height:52px;width:auto}
.sycow-header__nav{margin-left:auto}.sycow-header__nav ul,.sycow-header__menu{display:flex;align-items:center;gap:clamp(12px,2vw,26px);list-style:none;margin:0;padding:0}
.sycow-header__nav a{position:relative;color:var(--sy-text);text-decoration:none;font:650 14px/1.2 var(--sy-font-menu)}.sycow-header__nav a:hover{color:var(--sy-link-hover)}
.sycow-header__actions{display:flex;align-items:center;gap:10px}.sycow-header__phone{white-space:nowrap}
.sycow-mobile-menu{display:none;margin-left:auto;position:relative}.sycow-mobile-menu summary{list-style:none}.sycow-mobile-menu summary::-webkit-details-marker{display:none}
.sycow-mobile-menu__panel{position:absolute;right:0;top:calc(100% + 10px);width:min(320px,calc(100vw - 32px));padding:14px;background:var(--sy-surface);border:1px solid var(--sy-border);border-radius:var(--sy-radius-md);box-shadow:var(--sy-shadow-lg)}
.sycow-mobile-menu__panel ul{list-style:none;margin:0;padding:0}.sycow-mobile-menu__panel li+li{border-top:1px solid var(--sy-border)}.sycow-mobile-menu__panel a{display:block;padding:12px;color:var(--sy-text);text-decoration:none;font-weight:650}
.sycow-mobile-menu__panel>a:last-child{margin-top:10px}

/* Footer */
.sycow-footer-fallback{margin-top:auto;padding:clamp(46px,6vw,78px) var(--sy-space-gutter) 24px;background:var(--sy-surface);border-top:1px solid var(--sy-border)}
.sycow-footer__inner{width:min(100%,var(--sy-container-width));margin:auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:clamp(28px,4vw,58px)}
.sycow-footer__brand img{display:block;max-height:52px;width:auto;margin-bottom:var(--sy-space-md)}
.sycow-footer__brand-title{font:800 1.25rem/1.2 var(--sy-font-heading)}.sycow-footer__text{color:var(--sy-text-light);line-height:1.7;max-width:56ch}
.sycow-footer__title{font:750 .95rem/1.2 var(--sy-font-heading);margin:0 0 14px}.sycow-footer__links{list-style:none;padding:0;margin:0}.sycow-footer__links li+li{margin-top:9px}.sycow-footer__links a{color:var(--sy-text-light);text-decoration:none}.sycow-footer__links a:hover{color:var(--sy-link-hover)}
.sycow-footer__bottom{width:min(100%,var(--sy-container-width));margin:var(--sy-space-xl) auto 0;padding-top:20px;border-top:1px solid var(--sy-border);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:var(--sy-text-light);font-size:.88rem}

/* WooCommerce : la même famille de boutons, même hors template premium */
.woocommerce :where(a.button,button.button,input.button,#respond input#submit,.single_add_to_cart_button){min-height:var(--sy-btn-min-height)!important;padding:var(--sy-btn-padding)!important;border:var(--sy-btn-border)!important;border-radius:var(--sy-btn-radius)!important;background:var(--sy-btn-bg)!important;color:var(--sy-btn-text)!important;font-family:var(--sy-font-button)!important;font-size:var(--sy-btn-font-size)!important;font-weight:var(--sy-btn-font-weight)!important;line-height:1.1!important;text-decoration:none!important;transition:background var(--sy-motion-normal) var(--sy-motion-easing),transform var(--sy-motion-normal) var(--sy-motion-easing)!important}
.woocommerce :where(a.button,button.button,input.button,#respond input#submit,.single_add_to_cart_button):hover{background:var(--sy-btn-bg-hover)!important;color:var(--sy-btn-text-hover)!important;transform:translateY(-1px)}
.woocommerce :where(a.button,button.button,input.button,#respond input#submit,.single_add_to_cart_button):focus-visible{outline:none!important;box-shadow:var(--sy-focus-ring)!important}
.woocommerce :where(a.button,button.button,input.button,.single_add_to_cart_button).disabled,.woocommerce :where(a.button,button.button,input.button,.single_add_to_cart_button):disabled{opacity:.5!important;pointer-events:none}

/* Focus */
:where(.sycow-fallback,.sycow-header-fallback,.sycow-footer-fallback,.sycow-search-form,.sycow-comments) a:focus-visible,:where(.sycow-fallback,.sycow-header-fallback,.sycow-footer-fallback,.sycow-search-form,.sycow-comments) button:focus-visible,:where(.sycow-fallback,.sycow-header-fallback,.sycow-footer-fallback,.sycow-search-form,.sycow-comments) summary:focus-visible,:where(.sycow-fallback,.sycow-header-fallback,.sycow-footer-fallback,.sycow-search-form,.sycow-comments) input:focus-visible,:where(.sycow-fallback,.sycow-header-fallback,.sycow-footer-fallback,.sycow-search-form,.sycow-comments) select:focus-visible,:where(.sycow-fallback,.sycow-header-fallback,.sycow-footer-fallback,.sycow-search-form,.sycow-comments) textarea:focus-visible{outline:none;box-shadow:var(--sy-focus-ring)}

@media(max-width:900px){.sycow-header__nav,.sycow-header__actions{display:none}.sycow-mobile-menu{display:block}.sycow-footer__inner{grid-template-columns:1fr 1fr}.sycow-footer__brand{grid-column:1/-1}.sycow-section-header{align-items:flex-start;flex-direction:column}}
@media(max-width:640px){.sycow-fallback{padding-inline:16px}.sycow-content-shell,.sycow-page-hero{padding:24px 18px}.sycow-grid{grid-template-columns:1fr}.sycow-footer__inner{grid-template-columns:1fr}.sycow-footer__brand{grid-column:auto}.sycow-search-form__bar{display:grid;grid-template-columns:1fr}.sycow-search-submit{width:100%}.sycow-header__brand img{max-width:180px}.post-navigation .nav-links{grid-template-columns:1fr}.sycow-actions>.sycow-btn{flex:1}.sycow-actions>.sycow-btn:only-child{flex:0 1 auto}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
