/* 変数 */
:root{
  --wp--preset--color--main:   #C9171E;
  --wp--preset--color--sub:    #F56066;
  --wp--preset--color--accent: #F13940;
  --wp--preset--color--light:  #FFD9DB;
  --wp--preset--color--dark:   #CFA1A3;
  --wp--preset--color--black:  #000000;
  --wp--preset--color--white:  #ffffff;
  --wp--style--color--link: var(--wp--preset--color--main);
}

/* テキスト色 */
.has-main-color   { color: var(--wp--preset--color--main,   #C9171E); }
.has-sub-color    { color: var(--wp--preset--color--sub,    #F56066); }
.has-accent-color { color: var(--wp--preset--color--accent, #F13940); }
.has-light-color  { color: var(--wp--preset--color--light,  #FFD9DB); }
.has-dark-color   { color: var(--wp--preset--color--dark,   #CFA1A3); }
.has-black-color  { color: var(--wp--preset--color--black,  #000000); }
.has-white-color  { color: var(--wp--preset--color--white,  #ffffff); }

/* 背景・ボーダー */
.has-main-background-color   { background-color: var(--wp--preset--color--main,   #C9171E); }
.has-sub-background-color    { background-color: var(--wp--preset--color--sub,    #F56066); }
.has-accent-background-color { background-color: var(--wp--preset--color--accent, #F13940); }
.has-light-background-color  { background-color: var(--wp--preset--color--light,  #FFD9DB); }
.has-dark-background-color   { background-color: var(--wp--preset--color--dark,   #CFA1A3); }
.has-black-background-color  { background-color: var(--wp--preset--color--black,  #000000); }
.has-white-background-color  { background-color: var(--wp--preset--color--white,  #ffffff); }

.has-main-border-color   { border-color: var(--wp--preset--color--main,   #C9171E); }
.has-sub-border-color    { border-color: var(--wp--preset--color--sub,    #F56066); }
.has-accent-border-color { border-color: var(--wp--preset--color--accent, #F13940); }
.has-light-border-color  { border-color: var(--wp--preset--color--light,  #FFD9DB); }
.has-dark-border-color   { border-color: var(--wp--preset--color--dark,   #CFA1A3); }
.has-black-border-color  { border-color: var(--wp--preset--color--black,  #000000); }
.has-white-border-color  { border-color: var(--wp--preset--color--white,  #ffffff); }

/* 親に色 → 子にも継承（p/a/hの明示色対策） */
.has-text-color :where(p, li, span, em, strong, code, blockquote, figcaption,
                       h1, h2, h3, h4, h5, h6){ color: inherit; }
.has-text-color a,
.has-text-color a:visited,
.has-text-color a:hover,
.has-text-color a:focus{ color: inherit; }
.has-text-color li::marker{ color: inherit; }
.has-text-color svg{ fill: currentColor; }

/* リンク専用（has-link-color） */
.has-link-color a,
.has-link-color a:visited,
.has-link-color a:hover,
.has-link-color a:focus{
  color: var(--wp--style--color--link, var(--wp--preset--color--main, #C9171E));
}

/* 必要なら“ヘッダー/ナビは除外”も可能（例） */
/*
.site-header .has-text-color :where(*){ color: initial; }
*/
