/*
Theme Name: LN Digital Starter
Theme URI: https://www.ln-digital.fr/
Author: LN Digital
Description: Starter theme WordPress classique, Gutenberg-ready, sans Full Site Editing.
Version: 1.0.40
Text Domain: lndigital
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 8.0
License: GNU General Public License v2 or later
*/

@import url('./assets/css/theme.css');
@import url('./assets/css/layout.css');
@import url('./assets/css/navigation.css');
@import url('./assets/css/woocommerce.css');

*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;max-width:var(--site-width);margin-inline:auto;font-family:var(--font-body);font-size:var(--body-font-size);font-weight:var(--body-font-weight);line-height:var(--body-line-height);color:var(--color-text);background:var(--color-background);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img,svg,video{max-width:100%;height:auto}a{color:var(--color-link);text-decoration-thickness:.08em;text-underline-offset:.18em;transition:color .2s ease}a:hover,a:focus{color:var(--color-link-hover)}p{margin:0 0 1.2em}ul,ol{margin:0 0 1.5em 1.4em;padding:0}li{margin:.35em 0}h1,h2,h3,h4,h5,h6{margin:var(--headings-margin-top) 0 var(--headings-margin-bottom);font-family:var(--font-headings);font-weight:var(--headings-font-weight);line-height:var(--headings-line-height);letter-spacing:var(--headings-letter-spacing);color:var(--color-heading)}
strong,b{font-weight:var(--body-bold-font-weight)}
h1 strong,h2 strong,h3 strong,h4 strong,h5 strong,h6 strong,h1 b,h2 b,h3 b,h4 b,h5 b,h6 b{font-weight:var(--headings-bold-font-weight)}
h1{font-size:var(--h1-font-size)}h2{font-size:var(--h2-font-size)}h3{font-size:var(--h3-font-size)}h4{font-size:var(--h4-font-size)}button,input,select,textarea{font:inherit}button,.button,.wp-element-button,input[type="submit"]{font-family:var(--font-buttons);font-size:var(--button-font-size);font-weight:var(--button-font-weight);text-transform:var(--button-text-transform);letter-spacing:var(--button-letter-spacing);border-radius:var(--button-radius);padding:var(--button-padding-y) var(--button-padding-x);background:var(--button-bg);color:var(--button-text-color);border:1px solid var(--button-bg);box-shadow:var(--button-shadow);cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;margin:var(--button-margin-top) var(--button-margin-right) var(--button-margin-bottom) var(--button-margin-left)}button:hover,.button:hover,.wp-element-button:hover,input[type="submit"]:hover{background:var(--button-hover-bg);border-color:var(--button-hover-bg);color:var(--button-hover-text-color);box-shadow:var(--button-hover-shadow)}.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}.skip-link:focus{position:fixed;top:1rem;left:1rem;z-index:9999;width:auto;height:auto;padding:.75rem 1rem;background:#000;color:#fff;clip:auto}


/* Visibilité responsive Gutenberg */
@media (max-width: 767px) {
  .lndigital-visibility-hide-mobile,
  .lndigital-visibility-only-tablet,
  .lndigital-visibility-only-desktop {
    display: none !important;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .lndigital-visibility-hide-tablet,
  .lndigital-visibility-only-mobile,
  .lndigital-visibility-only-desktop {
    display: none !important;
  }
}

@media (min-width: 1025px) {
  .lndigital-visibility-hide-desktop,
  .lndigital-visibility-only-mobile,
  .lndigital-visibility-only-tablet {
    display: none !important;
  }
}

/* v28 - Marges globales des titres/boutons, sans écraser les marges définies bloc par bloc dans Gutenberg.
   Si Gutenberg ajoute une marge inline via style="margin...", le bloc sort de ces règles. */
:where(.entry-content,.site-main,.wp-site-blocks) :is(h1,h2,h3,h4,h5,h6,.wp-block-heading):not([style*="margin"]){
  margin-block-start:var(--headings-margin-top)!important;
  margin-block-end:var(--headings-margin-bottom)!important;
  margin-top:var(--headings-margin-top)!important;
  margin-bottom:var(--headings-margin-bottom)!important;
}

:where(.entry-content,.site-main,.wp-site-blocks) :is(.wp-block-buttons):not([style*="margin"]){
  margin-block-start:var(--button-margin-top)!important;
  margin-block-end:var(--button-margin-bottom)!important;
  margin-top:var(--button-margin-top)!important;
  margin-right:var(--button-margin-right)!important;
  margin-bottom:var(--button-margin-bottom)!important;
  margin-left:var(--button-margin-left)!important;
}

/* v28 - Largeurs personnalisées visibles aussi dans l’aperçu Apparence/Customizer. */
:where(.entry-content,.site-main,.wp-site-blocks) > .is-width-small,
:where(.entry-content,.site-main,.wp-site-blocks) .is-width-small{
  width:min(var(--container-small), calc(100% - var(--site-gutter) * 2))!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
:where(.entry-content,.site-main,.wp-site-blocks) > .is-width-normal,
:where(.entry-content,.site-main,.wp-site-blocks) .is-width-normal{
  width:min(var(--container-content), calc(100% - var(--site-gutter) * 2))!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
:where(.entry-content,.site-main,.wp-site-blocks) > .is-width-wide,
:where(.entry-content,.site-main,.wp-site-blocks) .is-width-wide{
  width:min(var(--container-wide), calc(100% - var(--site-gutter) * 2))!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
:where(.entry-content,.site-main,.wp-site-blocks) > .is-width-full,
:where(.entry-content,.site-main,.wp-site-blocks) .is-width-full{
  width:var(--container-full)!important;
  max-width:none!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
@media(max-width:767px){
  :where(.entry-content,.site-main,.wp-site-blocks) > .is-width-small,
  :where(.entry-content,.site-main,.wp-site-blocks) .is-width-small{width:min(var(--container-small-mobile), calc(100% - var(--site-gutter) * 2))!important;}
  :where(.entry-content,.site-main,.wp-site-blocks) > .is-width-normal,
  :where(.entry-content,.site-main,.wp-site-blocks) .is-width-normal{width:min(var(--container-content-mobile), calc(100% - var(--site-gutter) * 2))!important;}
  :where(.entry-content,.site-main,.wp-site-blocks) > .is-width-wide,
  :where(.entry-content,.site-main,.wp-site-blocks) .is-width-wide{width:min(var(--container-wide-mobile), calc(100% - var(--site-gutter) * 2))!important;}
  :where(.entry-content,.site-main,.wp-site-blocks) > .is-width-full,
  :where(.entry-content,.site-main,.wp-site-blocks) .is-width-full{width:var(--container-full-mobile)!important;}
}


/* v38 - Footer inline copyright + menu */
.site-footer{
  font-size:var(--footer-font-size);
  color:var(--color-text);
  border-top:1px solid var(--color-border);
  padding:1.25rem 0;
}
.footer-inner{
  display:flex;
  align-items:center;
  justify-content:var(--footer-align);
  flex-wrap:wrap;
  gap:.45rem .75rem;
  text-align:var(--footer-align);
}
.footer-copyright{margin:0;}
.footer-separator{opacity:.55;}
.footer-navigation ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:.45rem .75rem;
}
.footer-navigation li{margin:0;}
.footer-navigation a{
  color:inherit;
  text-decoration:none;
}
.footer-navigation a:hover,
.footer-navigation a:focus{
  color:var(--color-link-hover);
}
@media(max-width:767px){
  .footer-inner{
    justify-content:center;
    text-align:center;
  }
}
