@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/

/* ===================================
   Age Gate - PINK RAVEN Custom Design
   =================================== */




/* Hide original Age Gate title text */
.age-gate-heading-title,
.age-gate__heading-title,
.age-gate-heading-title-logo,
.age-gate__heading-title--logo {
  display: none !important;
}


/* Hide Age Gate duplicate challenge/subheadline text */
.age-gate__challenge,
.age-gate-challenge,
.age-gate__subheadline:empty,
p.age-gate__subheadline {
  display: none !important;
}



/* 吹き出しアイコン 65px */
.speech-icon {
  width: 65px !important;
  height: 65px !important;
  min-width: 65px !important;
}

.speech-icon img.speech-icon-image {
  width: 65px !important;
  height: 65px !important;
}



/* アイコンと吹き出しの間隔 */
.speech-person {
  margin-right: -10px !important;
}

.speech-balloon {
  margin-left: 0 !important;
}

/* 吹き出しバルーン スタイル */
.speech-balloon {
  background-color: #fff !important;
  border: 2px solid #bbb !important;
}

.sbs-flat .speech-balloon::before,
.sbs-flat .speech-balloon::after {
  border-right-color: #bbb !important;
  background: none !important;
}

.sbs-flat .speech-balloon::after {
  border-right-color: #fff !important;
}

/* 吹き出しデザイン調整 */
.wp-block-cocoon-blocks-balloon-ex-box.blank-box.block-box {
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  padding: 0 !important;
}

.speech-wrap .speech-person .speech-icon-image {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.speech-wrap .speech-person figure.speech-icon {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.speech-icon {
  background-color: transparent !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.speech-person {
  background: transparent !important;
}

.speech-wrap .speech-person .speech-name {
  display: none !important;
}


/* アイコン背景グレー完全除去 */
.sbs-flat .speech-icon-image,
.sbis-sn .speech-icon-image,
.sb-id-1 .speech-icon-image,
figure.speech-icon,
.speech-wrap figure.speech-icon,
.speech-wrap .speech-icon,
.sbs-flat .speech-person figure,
.speech-person figure {
  background-color: transparent !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}

.speech-icon-image {
  background-color: transparent !important;
  background: none !important;
  border-radius: 50% !important;
}

/* Overlay background */
.age-gate-wrapper,
.age-gate__wrapper {
  background: #ffffff !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Background color layer */
.age-gate-background-color,
.age-gate__background-color {
  background: transparent !important;
}

/* Main form container */
.age-gate,
.age-gate__form {
  background: transparent !important;
  border-radius: 20px !important;
  padding: 48px 36px 40px !important;
  max-width: 460px !important;
  width: 90% !important;
  box-shadow: none !important;
  border: none !important;
  position: relative !important;
}

/* Headline */
.age-gate-headline,
.age-gate__headline {
  color: #c2185b !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  text-align: center !important;
  margin-bottom: 8px !important;
  letter-spacing: 0.04em !important;
}

/* Sub-headline / message */
.age-gate-subheadline,
.age-gate__subheadline {
  color: #6a6a6a !important;
  font-size: 14px !important;
  text-align: center !important;
  margin-bottom: 24px !important;
  line-height: 1.7 !important;
}

/* Logo */
.age-gate-heading-title-logo img,
.age-gate__heading-title--logo img {
  max-height: 60px !important;
  margin: 0 auto 16px !important;
  display: block !important;
}

/* Heading title */
.age-gate-heading-title,
.age-gate__heading-title {
  text-align: center !important;
  margin-bottom: 10px !important;
}

/* h2 inside age gate */
.age-gate h2 {
  color: #c2185b !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  border: none !important;
  background: none !important;
  padding: 0 !important;
  text-align: center !important;
}

.age-gate h2:before,
.age-gate h2:after {
  display: none !important;
}

/* Button area */
.age-gate-buttons,
.age-gate__buttons,
.age-gate-submit,
.age-gate__submit {
  display: flex !important;
  justify-content: center !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
  margin-top: 12px !important;
}

/* YES button */
button.age-gate-submit-yes,
button.age-gate__submit--yes,
button.age-gate__button[value="yes"],
button.age-gate__button:first-of-type {
  background: linear-gradient(135deg, #ec407a, #c2185b) !important;
  color: #fff !important;
  border: none !important;
  border-radius: 50px !important;
  padding: 14px 48px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  min-width: 150px !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
  box-shadow: 0 4px 16px rgba(236, 64, 122, 0.35) !important;
  letter-spacing: 0.06em !important;
  text-transform: none !important;
}

button.age-gate-submit-yes:hover,
button.age-gate__submit--yes:hover,
button.age-gate__button[value="yes"]:hover,
button.age-gate__button:first-of-type:hover {
  background: linear-gradient(135deg, #f06292, #e91e63) !important;
  box-shadow: 0 6px 20px rgba(236, 64, 122, 0.5) !important;
  transform: translateY(-1px) !important;
}

button.age-gate-submit-yes:active,
button.age-gate__submit--yes:active {
  transform: translateY(0) !important;
  box-shadow: 0 2px 8px rgba(236, 64, 122, 0.3) !important;
}

/* NO button */
button.age-gate-submit-no,
button.age-gate__submit--no,
button.age-gate__button[value="no"],
button.age-gate__button:last-of-type {
  background: #fff !important;
  color: #999 !important;
  border: 2px solid #e0c8d0 !important;
  border-radius: 50px !important;
  padding: 14px 48px !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  min-width: 150px !important;
  cursor: pointer !important;
  transition: all 0.25s ease !important;
  box-shadow: none !important;
  letter-spacing: 0.06em !important;
  text-transform: none !important;
}

button.age-gate-submit-no:hover,
button.age-gate__submit--no:hover,
button.age-gate__button[value="no"]:hover,
button.age-gate__button:last-of-type:hover {
  border-color: #c2185b !important;
  color: #c2185b !important;
  background: #fff5f8 !important;
}

/* Input fields */
.age-gate input[type="text"].age-gate-input,
.age-gate input[type="text"].age-gate__input,
.age-gate select.age-gate-select,
.age-gate select.age-gate__select {
  border: 2px solid #e8c4d0 !important;
  border-radius: 12px !important;
  padding: 12px 16px !important;
  font-size: 16px !important;
  text-align: center !important;
  background: #fff !important;
  transition: border-color 0.2s !important;
}

.age-gate input[type="text"].age-gate-input:focus,
.age-gate input[type="text"].age-gate__input:focus,
.age-gate select.age-gate-select:focus,
.age-gate select.age-gate__select:focus {
  border-color: #ec407a !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(236, 64, 122, 0.15) !important;
}

/* Remember me */
.age-gate-remember-wrapper,
.age-gate__remember-wrapper {
  text-align: center !important;
  margin-top: 12px !important;
}

.age-gate-remember-text,
.age-gate__remember-text {
  color: #999 !important;
  font-size: 13px !important;
}

/* Error messages */
.age-gate-error,
.age-gate__error {
  color: #c2185b !important;
  text-align: center !important;
  font-size: 13px !important;
}

/* Additional info */
.age-gate-additional-information,
.age-gate__additional-information {
  text-align: center !important;
  margin-top: 16px !important;
  font-size: 12px !important;
  color: #aaa !important;
}

.age-gate-additional-information a,
.age-gate__additional-information a {
  color: #ec407a !important;
  text-decoration: none !important;
}

/* Label */
.age-gate-label,
.age-gate__label {
  color: #777 !important;
  font-size: 14px !important;
  text-align: center !important;
  display: block !important;
  margin-bottom: 8px !important;
}

/* Fields layout */
.age-gate-fields,
.age-gate__fields {
  justify-content: center !important;
  margin-bottom: 16px !important;
}

/* Form elements */
.age-gate-form-elements,
.age-gate__form-elements {
  text-align: center !important;
}

/* Scrollbar */
.age-gate::-webkit-scrollbar {
  width: 6px !important;
}
.age-gate .simplebar-scrollbar:before {
  background: #ec407a !important;
}

/* Loader */
.age-gate-loader img,
.age-gate-loader svg,
.age-gate__loader img,
.age-gate__loader svg {
  filter: hue-rotate(320deg) !important;
}




/* ===== タグ タイプ別スタイル ===== */

/* ジャンルタグ: マゼンタボーダー */
.tag-link[data-tag-type="genre"],
a[data-tag-type="genre"] {
  border: 1px solid #e91e63 !important;
  color: #e91e63 !important;
  background: transparent !important;
}

/* 女優名タグ: オレンジボーダー */
.tag-link[data-tag-type="actress"],
a[data-tag-type="actress"] {
  border: 1px solid #ff9800 !important;
  color: #ff9800 !important;
  background: transparent !important;
}

/* メーカータグ: 非表示 */
.tag-link[data-tag-type="maker"],
a[data-tag-type="maker"] {
  display: none !important;
}

/* レーベルタグ: 非表示 */
.tag-link[data-tag-type="label"],
a[data-tag-type="label"] {
  display: none !important;
}

/* シリーズタグ: 非表示 */
.tag-link[data-tag-type="series"],
a[data-tag-type="series"] {
  display: none !important;
}

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  .age-gate,
  .age-gate__form {
    padding: 36px 24px 32px !important;
    max-width: 400px !important;
  }
}

/*480px以下*/
@media screen and (max-width: 480px){
  .age-gate,
  .age-gate__form {
    padding: 30px 20px 28px !important;
    border-radius: 16px !important;
  }

  .age-gate-headline,
  .age-gate__headline {
    font-size: 18px !important;
  }

  button.age-gate-submit-yes,
  button.age-gate__submit--yes,
  button.age-gate-submit-no,
  button.age-gate__submit--no,
  button.age-gate__button {
    padding: 12px 36px !important;
    font-size: 15px !important;
    min-width: 130px !important;
  }

  .age-gate-buttons,
  .age-gate__buttons,
  .age-gate-submit,
  .age-gate__submit {
    flex-direction: column !important;
    align-items: center !important;
    gap: 12px !important;
  }
}


/* RAVENZ: 吹き出し内のチェック・グレー背景を無効化 */
.wp-block-cocoon-blocks-balloon-ex-box.ravenz-q-wrap .speech-balloon,
.wp-block-cocoon-blocks-balloon-ex-box.ravenz-q-wrap .speech-balloon p,
.wp-block-cocoon-blocks-balloon-ex-box.ravenz-q-wrap .speech-balloon strong,
.wp-block-cocoon-blocks-balloon-ex-box.ravenz-q-wrap .speech-balloon h3 {
  background: transparent !important;
  background-color: #fff !important;
}


/* RAVENZ: Cocoon 目次を非表示 */
#toc,
.toc,
.article-toc,
.toc-wrap,
.entry-toc,
nav[aria-label*="目次"],
div[class*="toc-box"] {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}


/* RAVENZ: 吹き出しグレー丸チェック非表示 */
.wp-block-cocoon-blocks-balloon-ex-box.ravenz-q-wrap::before,
.wp-block-cocoon-blocks-balloon-ex-box.ravenz-q-wrap::after,
.ravenz-q-wrap .speech-balloon::before,
.ravenz-q-wrap .speech-balloon::after,
.ravenz-q-wrap .speech-balloon p::before,
.ravenz-q-wrap .speech-balloon p::after,
.wp-block-cocoon-blocks-balloon-ex-box .speech-balloon::before,
.wp-block-cocoon-blocks-balloon-ex-box .speech-balloon::after,
.wp-block-cocoon-blocks-balloon-ex-box .speech-wrap::before,
.wp-block-cocoon-blocks-balloon-ex-box .speech-wrap::after {
  display: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  visibility: hidden !important;
  background: none !important;
  box-shadow: none !important;
}


/* RAVENZ: 吹き出しチェック v2 — blank-box / block-box の丸チェックを消す */
.ravenz-q-wrap .speech-balloon .blank-box::before,
.ravenz-q-wrap .speech-balloon .block-box::before,
.ravenz-q-wrap .speech-balloon [class*="blank-box"]::before,
.ravenz-q-wrap .speech-balloon [class*="block-box"]::before,
.wp-block-cocoon-blocks-balloon-ex-box .speech-balloon .blank-box::before,
.wp-block-cocoon-blocks-balloon-ex-box .speech-balloon .block-box::before,
.wp-block-cocoon-blocks-balloon-ex-box .speech-balloon h3::before,
.wp-block-cocoon-blocks-balloon-ex-box .speech-balloon h3::after,
.ravenz-q-wrap .speech-balloon h3::before,
.ravenz-q-wrap .speech-balloon h3::after {
  display: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
  background: none !important;
  box-shadow: none !important;
}


/* RAVENZ: 吹き出しH3左パディング10px */
.ravenz-q-wrap .speech-balloon h3,
.wp-block-cocoon-blocks-balloon-ex-box .speech-balloon h3 {
  padding-left: 10px !important;
}
