/* ============================================
   apero-stitch.css - Premium Version
   ============================================ */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@700;800;900&family=Noto+Sans+JP:wght@700;900&display=swap');

:root {
  --apero-primary: #ee7c2b;
  --apero-primary-rgb: 238, 124, 43;
  --apero-text: #181411;
  --apero-muted: #897261;
  --apero-bg: #f8f7f6;
  --apero-border: #f4f2f0;
  --apero-shadow-premium: 0 20px 25px -5px rgba(238, 124, 43, 0.15), 0 10px 10px -5px rgba(238, 124, 43, 0.1);
}

body {
  font-family: 'Plus Jakarta Sans', 'Noto Sans JP', sans-serif !important;
  background-color: var(--apero-bg) !important;
  color: var(--apero-text) !important;
}

.home #sidebar { display: none !important; }
.home #main_content { width: 100% !important; max-width: 1200px !important; margin: 0 auto !important; float: none !important; }

/* Custom Hero Layout */
.apero-hero {
  background: #fff !important;
  border-radius: 2.5rem !important;
  padding: 24px !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.03) !important;
  border: 1px solid var(--apero-border) !important;
  margin-bottom: 3rem !important;
}
.apero-hero__img {
  width: 100%; height: 400px;
  background-position: center; background-size: cover;
  border-radius: 1.5rem; transition: transform 0.7s ease;
}
.apero-hero:hover .apero-hero__img { transform: scale(1.03); }

/* Sidebar CTA Premium */
.apero-sidebar-cta {
  background: linear-gradient(135deg, #ee7c2b 0%, #ea580c 100%) !important;
  color: #fff !important;
  border-radius: 2rem !important;
  padding: 40px 24px !important;
  text-align: center !important;
  box-shadow: var(--apero-shadow-premium) !important;
  position: relative; overflow: hidden;
}
.apero-sidebar-cta__btn {
  background: #fff !important; color: var(--apero-primary) !important;
  border-radius: 999px !important; padding: 12px 0 !important;
  font-weight: 800 !important; display: block !important;
  margin-top: 1.5rem !important; transition: transform 0.2s ease !important;
}
.apero-sidebar-cta__btn:hover { transform: scale(1.05) !important; }

/* Smartphone Mock (The "WOW" part) */
.apero-mock-phone {
  flex-shrink: 0 !important; width: 280px !important; height: 560px !important;
  border: 10px solid #181411 !important; border-radius: 3.5rem !important;
  background: #181411 !important; box-shadow: 0 25px 50px -12px rgba(0,0,0,0.25) !important;
  overflow: hidden !important; display: flex !important; position: relative;
}
.apero-mock-screen {
  flex: 1 !important; border-radius: 2.8rem !important;
  background: linear-gradient(180deg, rgba(238,124,43,0.1), rgba(234,88,12,0.05)), #fff !important;
  padding: 32px 20px !important; display: flex !important; flex-direction: column !important;
}
.apero-mock-card {
  background: #fff !important; border-radius: 1.25rem !important; padding: 12px !important;
  display: flex !important; gap: 12px !important; align-items: center !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.05) !important; margin-bottom: 12px !important;
  animation: mock-float 4s infinite ease-in-out;
}
.apero-mock-card:nth-child(2) { animation-delay: 2s; }
@keyframes mock-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}

.apero-mock-btn {
  margin-top: auto !important; background: var(--apero-primary) !important;
  color: #fff !important; border-radius: 1rem !important; padding: 14px !important;
  text-align: center !important; font-size: 13px !important; font-weight: 800 !important;
  box-shadow: 0 8px 16px rgba(238, 124, 43, 0.3) !important;
}

/* Icons & Chips */
.material-symbols-outlined { font-family: 'Material Symbols Outlined' !important; vertical-align: middle; }
.apero-cat-chip {
  padding: 8px 20px !important; border-radius: 99px !important;
  background: #fff !important; border: 1px solid var(--apero-border) !important;
  font-weight: 700 !important; font-size: 14px !important; cursor: pointer !important;
}
.apero-cat-chip.is-active { background: #181411 !important; color: #fff !important; border-color: #181411 !important; }

/* Sticky Header Adjustment */
.l-header { background: rgba(255,255,255,0.8) !important; backdrop-filter: blur(10px) !important; }

/* =========================================
   SWELL干渉リセット＆Stitch完全再現パッチ
   ========================================= */

/* 1. ヘッダーのボタン化（SWELLの高さ100%指定を回避して中のテキストだけをボタン化） */
/* 2. ヘッダーの配置とデザイン（Stitch完全再現） */
.l-header .l-container {
    max-width: 1440px !important; /* 広めのコンテナ */
    padding-left: 5% !important;
    padding-right: 5% !important;
}
.l-header__inner {
    height: 80px !important;
    display: flex !important;
    align-items: center !important;
}
.l-header .c-gnavWrap {
    margin-left: 2rem !important;
}
.l-header .c-gnav {
    gap: 2rem !important;
}
.l-header .c-gnav li a {
    font-size: 0.875rem !important;
    font-weight: 800 !important;
    color: var(--apero-text) !important;
    padding: 0 !important;
}

/* 検索窓（Stitch風ディテール） */
.l-header .w-header {
    display: block !important;
    margin-left: auto !important;
    margin-right: 1.5rem !important;
}
.l-header .c-searchForm {
    background: #f4f2f0 !important;
    border-radius: 999px !important;
    padding: 8px 16px !important;
    border: none !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}
.l-header .c-searchForm__s {
    background: transparent !important;
    border: none !important;
    font-size: 0.875rem !important;
    width: 140px !important;
    padding: 0 !important;
    color: var(--apero-text) !important;
}
.l-header .c-searchForm__s::placeholder {
    color: #897261 !important;
}
.l-header .c-searchForm__submit {
    background: transparent !important;
    color: #897261 !important;
    font-size: 1.2rem !important;
    padding: 0 !important;
}

/* 3. ヘッダーロゴのバランス調整（現状維持・サイズのみ最適化） */
.l-header__logo .c-headLogo__img {
    height: 32px !important;
    width: auto !important;
}

/* 4. カテゴリチップ */
.apero-cat-chip {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 8px 24px !important;
    border-radius: 999px !important;
    background: #fff !important;
    border: 1px solid var(--apero-border) !important;
    color: var(--apero-text) !important;
    font-weight: 700 !important;
    font-size: 0.9rem !important;
    cursor: pointer !important;
    white-space: nowrap !important;
}
.apero-cat-chip.is-active {
    background: #181411 !important;
    color: #fff !important;
    border-color: #181411 !important;
}

/* 4. アプリ訴求（スマホモック）のレイアウト強制修正 */
.apero-app-promo {
    flex-direction: row !important; /* PCで縦並びになるのを強制ブロック */
    align-items: center !important;
    text-align: left !important;
}
.apero-mock-phone {
    min-width: 260px !important;
    max-width: 260px !important;
    flex-shrink: 0 !important;
}

/* 5. 汎用ボタンクラス（!importantの競合によるボタン透明化を修正） */
.apero-btn-primary {
    background-color: var(--apero-primary) !important;
    color: #fff !important;
    border-radius: 999px !important;
    padding: 12px 32px !important;
    font-weight: 800 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    text-decoration: none !important;
    box-shadow: 0 4px 12px rgba(238, 124, 43, 0.3) !important;
}
.apero-btn-secondary {
    background-color: #f4f2f0 !important;
    color: var(--apero-text) !important;
    border-radius: 999px !important;
    padding: 12px 32px !important;
    font-weight: 800 !important;
    display: inline-flex !important;
    align-items: center !important;
    text-decoration: none !important;
}

@media (max-width: 768px) {
    .apero-app-promo {
        flex-direction: column !important;
        text-align: center !important;
        padding: 3rem 1.5rem !important;
    }
}

/* 共通プレミアムボタン */
.apero-btn-primary {
    background-color: var(--apero-primary) !important;
    color: #fff !important;
    border-radius: 999px !important;
    padding: 14px 32px !important;
    font-weight: 800 !important;
    font-size: 0.9rem !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    text-decoration: none !important;
    box-shadow: 0 10px 20px -5px rgba(238, 124, 43, 0.4) !important;
    transition: all 0.3s ease !important;
}
.apero-btn-primary:hover {
    transform: translateY(-2px) scale(1.02) !important;
    box-shadow: 0 15px 25px -5px rgba(238, 124, 43, 0.5) !important;
}
.apero-btn-secondary {
    background-color: #f4f2f0 !important;
    color: var(--apero-text) !important;
    border-radius: 999px !important;
    padding: 14px 32px !important;
    font-weight: 800 !important;
    font-size: 0.9rem !important;
    display: inline-flex !important;
    align-items: center !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}
.apero-btn-secondary:hover {
    background-color: #e5e0dc !important;
}

/* SWELLブロックの干渉リセット */
.apero-posts-layout { margin-top: 4rem !important; }
.apero-ranking-card {
    background: #fff !important;
    border-radius: 2rem !important;
    border: 1px solid var(--apero-border) !important;
}

/* =========================================
   FINAL STITCH PARITY PATCH
   Header / ranking thumbs / bottom CTA / newsletter / footer
   ========================================= */

/* Header: cancel SWELL transparent top behavior and match Stitch sticky white bar */
#header.l-header,
#fix_header.l-fixHeader {
    position: sticky !important;
    top: 0 !important;
    z-index: 50 !important;
    background: rgba(255, 255, 255, 0.92) !important;
    border-bottom: 1px solid #f4f2f0 !important;
    box-shadow: none !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
}
#fix_header.l-fixHeader {
    position: fixed !important;
}
#header .l-header__bar {
    display: none !important;
}
#header .l-header__inner,
#fix_header .l-fixHeader__inner {
    min-height: 64px !important;
    height: 64px !important;
    max-width: 1440px !important;
    padding-left: clamp(24px, 5vw, 80px) !important;
    padding-right: clamp(24px, 5vw, 80px) !important;
    color: var(--apero-text) !important;
}
#header .c-headLogo__link,
#fix_header .c-headLogo__link {
    display: inline-flex !important;
    align-items: center !important;
    gap: 12px !important;
}
#header .c-headLogo__link::before,
#fix_header .c-headLogo__link::before {
    content: "" !important;
    width: 32px !important;
    height: 32px !important;
    display: inline-block !important;
    flex: 0 0 32px !important;
    color: var(--apero-primary) !important;
    background: currentColor !important;
    -webkit-mask: url("data:image/svg+xml,%3Csvg fill='none' viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M24 18.4228L42 11.475V34.3663C42 34.7796 41.7457 35.1504 41.3601 35.2992L24 42V18.4228Z' fill='currentColor' fill-rule='evenodd'/%3E%3Cpath clip-rule='evenodd' d='M24 8.18819L33.4123 11.574L24 15.2071L14.5877 11.574L24 8.18819ZM9 15.8487L21 20.4805V37.6263L9 32.9945V15.8487ZM27 37.6263V20.4805L39 15.8487V32.9945L27 37.6263ZM25.354 2.29885C24.4788 1.98402 23.5212 1.98402 22.646 2.29885L4.98454 8.65208C3.7939 9.08038 3 10.2097 3 11.475V34.3663C3 36.0196 4.01719 37.5026 5.55962 38.098L22.9197 44.7987C23.6149 45.0671 24.3851 45.0671 25.0803 44.7987L42.4404 38.098C43.9828 37.5026 45 36.0196 45 34.3663V11.475C45 10.2097 44.2061 9.08038 43.0155 8.65208L25.354 2.29885Z' fill='currentColor' fill-rule='evenodd'/%3E%3C/svg%3E") center / contain no-repeat !important;
    mask: url("data:image/svg+xml,%3Csvg fill='none' viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M24 18.4228L42 11.475V34.3663C42 34.7796 41.7457 35.1504 41.3601 35.2992L24 42V18.4228Z' fill='currentColor' fill-rule='evenodd'/%3E%3Cpath clip-rule='evenodd' d='M24 8.18819L33.4123 11.574L24 15.2071L14.5877 11.574L24 8.18819ZM9 15.8487L21 20.4805V37.6263L9 32.9945V15.8487ZM27 37.6263V20.4805L39 15.8487V32.9945L27 37.6263ZM25.354 2.29885C24.4788 1.98402 23.5212 1.98402 22.646 2.29885L4.98454 8.65208C3.7939 9.08038 3 10.2097 3 11.475V34.3663C3 36.0196 4.01719 37.5026 5.55962 38.098L22.9197 44.7987C23.6149 45.0671 24.3851 45.0671 25.0803 44.7987L42.4404 38.098C43.9828 37.5026 45 36.0196 45 34.3663V11.475C45 10.2097 44.2061 9.08038 43.0155 8.65208L25.354 2.29885Z' fill='currentColor' fill-rule='evenodd'/%3E%3C/svg%3E") center / contain no-repeat !important;
}
#header .c-headLogo__img,
#fix_header .c-headLogo__img {
    display: none !important;
}
#header .c-headLogo__link::after,
#fix_header .c-headLogo__link::after {
    content: "Apero Blog" !important;
    color: var(--apero-text) !important;
    font-size: 20px !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
}
#header .c-gnav,
#fix_header .c-gnav {
    display: flex !important;
    align-items: center !important;
    gap: clamp(18px, 2.2vw, 32px) !important;
}
#header .c-gnav > li > a,
#fix_header .c-gnav > li > a {
    height: auto !important;
    padding: 0 !important;
    color: var(--apero-text) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
}
#header .w-header,
#fix_header .w-header {
    flex: 0 1 260px !important;
    margin-left: auto !important;
    margin-right: 16px !important;
}
#header .c-searchForm,
#fix_header .c-searchForm {
    height: 40px !important;
    min-width: 220px !important;
    padding: 0 14px !important;
    background: #f4f2f0 !important;
}
#header .c-searchForm__submit,
#fix_header .c-searchForm__submit {
    order: -1 !important;
    width: 20px !important;
    min-width: 20px !important;
    margin-right: 8px !important;
}
/* Popular ranking: Stitch uses rounded-square 80px thumbnails and slim dividers */
.apero-ranking-card {
    padding: 24px !important;
    border-radius: 32px !important;
    box-shadow: 0 4px 20px rgba(0,0,0,0.03) !important;
}
.apero-ranking-card .p-postList {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
}
.apero-ranking-card .p-postList__item {
    position: relative !important;
    padding: 10px 0 !important;
    border-bottom: 1px solid #f4f2f0 !important;
}
.apero-ranking-card .p-postList__item:last-child {
    border-bottom: 0 !important;
}
.apero-ranking-card .p-postList__link {
    display: flex !important;
    align-items: flex-start !important;
    gap: 16px !important;
}
.apero-ranking-card .p-postList__thumb.c-postThumb,
.apero-ranking-card .c-postThumb {
    width: 80px !important;
    height: 80px !important;
    min-width: 80px !important;
    flex-basis: 80px !important;
    padding-top: 0 !important;
    aspect-ratio: 1 / 1 !important;
    border-radius: 14px !important;
    overflow: hidden !important;
    box-shadow: none !important;
}
.apero-ranking-card .c-postThumb__figure,
.apero-ranking-card .c-postThumb__img {
    width: 100% !important;
    height: 100% !important;
    position: static !important;
    object-fit: cover !important;
}
.apero-ranking-card .p-postList__body {
    padding: 0 !important;
}
.apero-ranking-card .p-postList__title {
    color: var(--apero-text) !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.45 !important;
}
.apero-ranking-card .p-postList__meta {
    margin-top: 6px !important;
    font-size: 12px !important;
    color: #9ca3af !important;
}
.apero-ranking-card .c-postThumb__cat {
    display: none !important;
}

/* Bottom CTA: match Stitch white rounded app promo and keep it out of SWELL card styling */
.apero-app-promo {
    max-width: 1200px !important;
    margin: 96px auto 32px !important;
    padding: clamp(32px, 5vw, 64px) !important;
    border-radius: 40px !important;
    background: #fff !important;
    border: 1px solid #fff0df !important;
    box-shadow: 0 24px 60px rgba(238, 124, 43, 0.08) !important;
}
.apero-app-promo::after {
    content: "" !important;
    position: absolute !important;
    right: -96px !important;
    top: -96px !important;
    width: 256px !important;
    height: 256px !important;
    border-radius: 50% !important;
    background: rgba(238, 124, 43, 0.08) !important;
    filter: blur(48px) !important;
    pointer-events: none !important;
}
.apero-app-promo h2 {
    font-size: clamp(32px, 4.2vw, 56px) !important;
    letter-spacing: 0 !important;
}
.apero-app-promo p {
    color: var(--apero-muted) !important;
}

/* Newsletter: full dark band like Stitch, not a small floating card */
.post_content > .apero-newsletter,
.apero-newsletter {
    width: 100vw !important;
    max-width: none !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    margin-top: 64px !important;
    margin-bottom: 0 !important;
    padding: 64px clamp(24px, 5vw, 80px) !important;
    border-radius: 0 !important;
    background: #181411 !important;
}
.apero-newsletter .wp-block-group__inner-container {
    max-width: 960px !important;
    margin: 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 40px !important;
    text-align: left !important;
}
.apero-newsletter h2 {
    font-size: clamp(28px, 3vw, 36px) !important;
    margin: 0 0 12px !important;
}
.apero-newsletter p {
    max-width: 480px !important;
    margin: 0 !important;
}
.apero-newsletter .wp-block-group__inner-container > div:last-child,
.apero-newsletter form,
.apero-newsletter .apero-newsletter-form {
    width: min(100%, 440px) !important;
}
.apero-newsletter input[type="email"] {
    min-height: 48px !important;
    background: rgba(255,255,255,0.1) !important;
}
.apero-newsletter button {
    min-height: 48px !important;
}

/* Footer: Stitch horizontal logo / links / copyright */
.l-footer {
    padding: 40px clamp(24px, 5vw, 80px) !important;
    background: #fff !important;
    border-top: 1px solid #f4f2f0 !important;
}
.l-footer__inner,
.l-footer__foot,
.l-footer__foot .l-container {
    max-width: 1200px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}
.l-footer__foot .l-container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 24px !important;
}
.l-footer__foot .l-container::before {
    content: "Apero Blog" !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    color: var(--apero-text) !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    white-space: nowrap !important;
}
.l-footer__nav {
    display: flex !important;
    gap: 24px !important;
    margin: 0 !important;
    padding: 0 !important;
}
.l-footer__nav a {
    border: 0 !important;
    padding: 0 !important;
    color: #6b7280 !important;
    font-size: 14px !important;
    font-weight: 700 !important;
}
.l-footer .copyright {
    margin: 0 !important;
    color: #9ca3af !important;
    font-size: 14px !important;
    white-space: nowrap !important;
}

@media (max-width: 959px) {
    #header .w-header,
    #fix_header .w-header,
    #header .c-gnavWrap,
    #fix_header .c-gnavWrap {
        display: none !important;
    }
    .apero-newsletter .wp-block-group__inner-container,
    .l-footer__foot .l-container {
        flex-direction: column !important;
        text-align: center !important;
    }
    .apero-newsletter .wp-block-group__inner-container {
        align-items: stretch !important;
    }
    .apero-newsletter div[style*="display:flex"] {
        flex-direction: column !important;
    }
    .l-footer__nav {
        flex-wrap: wrap !important;
        justify-content: center !important;
    }
}

/* FINAL STITCH PARITY PATCH v2
   Header search CTA, ranking thumbnails, newsletter desktop layout, footer logo. */
#header .w-header,
#fix_header .w-header {
    display: block !important;
    order: 20 !important;
    flex: 0 0 clamp(320px, 24vw, 380px) !important;
    width: clamp(320px, 24vw, 380px) !important;
    margin-left: 24px !important;
    margin-right: 0 !important;
}
#header .c-searchForm,
#fix_header .c-searchForm {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    height: 40px !important;
    min-width: 0 !important;
    padding: 0 0 0 16px !important;
    overflow: hidden !important;
    background: #f4f2f0 !important;
    border: 0 !important;
    border-radius: 999px !important;
}
#header .c-searchForm__s,
#fix_header .c-searchForm__s {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    width: auto !important;
    height: 100% !important;
    padding: 0 !important;
    background: transparent !important;
}
#header .c-searchForm__submit,
#fix_header .c-searchForm__submit {
    position: static !important;
    order: 2 !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 128px !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 0 20px !important;
    border-radius: 999px !important;
    background: var(--apero-primary) !important;
    color: #fff !important;
    font-size: 0 !important;
    box-shadow: 0 8px 18px rgba(238, 124, 43, .24) !important;
    opacity: 1 !important;
    transform: none !important;
}
#header .c-searchForm__submit::before,
#fix_header .c-searchForm__submit::before {
    content: none !important;
    display: none !important;
}
#header .c-searchForm__submit::after,
#fix_header .c-searchForm__submit::after {
    content: "飲み友を探す" !important;
    display: block !important;
    color: #fff !important;
    font-family: var(--apero-font) !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 40px !important;
    white-space: nowrap !important;
}

.apero-ranking-card .p-postList__thumb::before,
.apero-ranking-card .c-postThumb::before {
    content: none !important;
    display: none !important;
    padding-top: 0 !important;
}
.apero-ranking-card .p-postList__thumb.c-postThumb,
.apero-ranking-card .p-postList__thumb,
.apero-ranking-card .c-postThumb {
    flex: 0 0 80px !important;
    width: 80px !important;
    max-width: 80px !important;
    height: 80px !important;
    min-height: 80px !important;
    padding: 0 !important;
    position: relative !important;
    display: block !important;
    overflow: hidden !important;
    border-radius: 14px !important;
}
.apero-ranking-card .c-postThumb__figure {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
}
.apero-ranking-card .c-postThumb__img,
.apero-ranking-card .p-postList__thumb img {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 100% !important;
    object-fit: cover !important;
}
.apero-ranking-card .p-postList__body {
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

.apero-newsletter .wp-block-group__inner-container {
    display: grid !important;
    grid-template-columns: minmax(260px, 1fr) minmax(360px, 480px) !important;
    grid-template-areas: "title form" "text form" !important;
    align-items: center !important;
    gap: 12px 48px !important;
    text-align: left !important;
}
.apero-newsletter .wp-block-group__inner-container > div:first-child {
    position: absolute !important;
    inset: auto auto -120px -120px !important;
    pointer-events: none !important;
}
.apero-newsletter h2 {
    grid-area: title !important;
    margin: 0 !important;
}
.apero-newsletter p {
    grid-area: text !important;
    margin: 0 !important;
}
.apero-newsletter .wp-block-group__inner-container > div:last-child {
    grid-area: form !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    gap: 12px !important;
}
.apero-newsletter input[type="email"] {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    height: 56px !important;
    padding: 0 24px !important;
}
.apero-newsletter button {
    flex: 0 0 auto !important;
    min-width: 112px !important;
    height: 56px !important;
    padding: 0 28px !important;
    white-space: nowrap !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    line-height: 1 !important;
}

.l-footer__foot .l-container::before {
    content: "Apero Blog" !important;
    display: inline-flex !important;
    align-items: center !important;
    min-height: 28px !important;
    padding-left: 36px !important;
    color: var(--apero-text) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 48 48'%3E%3Crect width='48' height='48' rx='14' fill='%23ee7c2b'/%3E%3Cpath d='M24 10c6.6 0 12 4.5 12 10.1 0 7.5-10.1 15.2-11.8 16.5a1.8 1.8 0 0 1-2.2 0C20.2 35.2 10 27.6 10 20.1 10 14.5 15.4 10 22 10h2Z' fill='white'/%3E%3Ccircle cx='18' cy='20' r='2.5' fill='%23ee7c2b'/%3E%3Ccircle cx='30' cy='20' r='2.5' fill='%23ee7c2b'/%3E%3Cpath d='M18 27c3.1 2.5 8.8 2.5 12 0' stroke='%23ee7c2b' stroke-width='3' stroke-linecap='round' fill='none'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: left center !important;
    background-size: 28px 28px !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    line-height: 28px !important;
    white-space: nowrap !important;
}

@media (max-width: 959px) {
    #header .w-header,
    #fix_header .w-header,
    #header .c-gnavWrap,
    #fix_header .c-gnavWrap {
        display: none !important;
    }
    .apero-newsletter .wp-block-group__inner-container {
        display: grid !important;
        grid-template-columns: 1fr !important;
        grid-template-areas: "title" "text" "form" !important;
        text-align: center !important;
    }
    .apero-newsletter .wp-block-group__inner-container > div:last-child {
        flex-direction: column !important;
    }
    .apero-newsletter button {
        width: 100% !important;
    }
}

/* FINAL STITCH PARITY PATCH v3
   Linkable editable hero, balanced chips, separated search CTA, round ranking thumbs, cube footer logo. */
.apero-hero {
    position: relative !important;
    cursor: pointer !important;
}
.apero-hero__link {
    position: absolute !important;
    inset: 0 !important;
    z-index: 30 !important;
    display: block !important;
    border-radius: 32px !important;
    text-indent: -9999px !important;
    overflow: hidden !important;
}
.apero-hero .wp-block-columns {
    position: relative !important;
    z-index: 1 !important;
}
@keyframes ping {
    75%, 100% {
        transform: scale(2);
        opacity: 0;
    }
}

.home .apero-category-nav {
    max-width: 1200px !important;
    width: 100% !important;
    margin: 34px auto 72px !important;
    padding: 0 16px 8px !important;
    overflow-x: auto !important;
}
.home .apero-category-nav .wp-block-group__inner-container {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    min-width: max-content !important;
    width: 100% !important;
}
.home .apero-cat-chip {
    height: 44px !important;
    min-width: 0 !important;
    padding: 0 22px !important;
    border-radius: 999px !important;
    line-height: 44px !important;
}
.home .apero-cat-chip .material-symbols-outlined {
    margin-right: 6px !important;
    font-size: 18px !important;
    line-height: 1 !important;
    vertical-align: -4px !important;
}

#header .c-searchForm,
#fix_header .c-searchForm {
    gap: 14px !important;
    padding: 0 !important;
    overflow: visible !important;
    background: transparent !important;
}
#header .c-searchForm__s,
#fix_header .c-searchForm__s {
    height: 40px !important;
    padding: 0 18px !important;
    background: #f4f2f0 !important;
    border-radius: 999px !important;
}
#header .c-searchForm__submit,
#fix_header .c-searchForm__submit {
    margin-left: 6px !important;
    min-width: 136px !important;
}

.apero-ranking-card .p-postList__thumb.c-postThumb,
.apero-ranking-card .p-postList__thumb,
.apero-ranking-card .c-postThumb {
    flex-basis: 72px !important;
    width: 72px !important;
    max-width: 72px !important;
    min-width: 72px !important;
    height: 72px !important;
    min-height: 72px !important;
    border-radius: 50% !important;
}
.apero-ranking-card .c-postThumb__figure,
.apero-ranking-card .c-postThumb__img,
.apero-ranking-card .p-postList__thumb img {
    border-radius: 50% !important;
}

.l-footer__foot .l-container::before {
    background-image: url("data:image/svg+xml,%3Csvg fill='none' viewBox='0 0 48 48' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath clip-rule='evenodd' d='M24 18.4228L42 11.475V34.3663C42 34.7796 41.7457 35.1504 41.3601 35.2992L24 42V18.4228Z' fill='%23ee7c2b' fill-rule='evenodd'/%3E%3Cpath clip-rule='evenodd' d='M24 8.18819L33.4123 11.574L24 15.2071L14.5877 11.574L24 8.18819ZM9 15.8487L21 20.4805V37.6263L9 32.9945V15.8487ZM27 37.6263V20.4805L39 15.8487V32.9945L27 37.6263ZM25.354 2.29885C24.4788 1.98402 23.5212 1.98402 22.646 2.29885L4.98454 8.65208C3.7939 9.08038 3 10.2097 3 11.475V34.3663C3 36.0196 4.01719 37.5026 5.55962 38.098L22.9197 44.7987C23.6149 45.0671 24.3851 45.0671 25.0803 44.7987L42.4404 38.098C43.9828 37.5026 45 36.0196 45 34.3663V11.475C45 10.2097 44.2061 9.08038 43.0155 8.65208L25.354 2.29885Z' fill='%23ee7c2b' fill-rule='evenodd'/%3E%3C/svg%3E") !important;
}

.apero-app-promo .wp-block-button__link,
.apero-sidebar-cta .wp-block-button__link {
    text-decoration: none !important;
}
.apero-app-promo > .wp-block-group__inner-container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 64px !important;
    width: 100% !important;
}
.apero-app-promo__content > .wp-block-group__inner-container {
    display: block !important;
}
.apero-app-promo .apero-btn-primary .wp-block-button__link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    min-height: 52px !important;
    padding: 0 28px !important;
    border-radius: 999px !important;
    background: var(--apero-primary) !important;
    color: #fff !important;
    font-weight: 900 !important;
}
.apero-app-promo .apero-btn-secondary .wp-block-button__link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 52px !important;
    padding: 0 28px !important;
    border-radius: 999px !important;
    background: #f4f2f0 !important;
    color: var(--apero-text) !important;
    font-weight: 900 !important;
}
.apero-sidebar-cta .wp-block-buttons {
    justify-content: center !important;
}
.apero-sidebar-cta .apero-sidebar-cta__btn,
.apero-sidebar-cta .wp-block-button__link {
    width: 100% !important;
}

@media (max-width: 959px) {
    .apero-app-promo > .wp-block-group__inner-container {
        flex-direction: column !important;
        align-items: flex-start !important;
    }
}

/* FINAL STITCH PARITY PATCH v4
   Fixed header parity and category chip rail stabilization. */
#fix_header.l-fixHeader {
    left: 0 !important;
    right: 0 !important;
    top: 0 !important;
    height: 64px !important;
    min-height: 64px !important;
    background: rgba(255, 255, 255, .94) !important;
    border-bottom: 1px solid #f4f2f0 !important;
    box-shadow: none !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
}
#fix_header .l-fixHeader__inner {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    width: 100% !important;
    max-width: 1440px !important;
    height: 64px !important;
    min-height: 64px !important;
    padding: 0 clamp(24px, 5vw, 80px) !important;
}
#fix_header .l-fixHeader__logo {
    order: 0 !important;
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    margin: 0 clamp(28px, 4vw, 56px) 0 0 !important;
    padding: 0 !important;
}
#fix_header .l-fixHeader__gnav {
    order: 1 !important;
    flex: 0 1 auto !important;
    display: block !important;
    margin: 0 auto 0 0 !important;
}
#fix_header .c-gnav {
    height: auto !important;
    min-height: 0 !important;
}
#fix_header .c-gnav > li > a {
    display: inline-flex !important;
    align-items: center !important;
    height: 40px !important;
    line-height: 1 !important;
}
#fix_header .w-header {
    order: 2 !important;
    flex: 0 0 clamp(340px, 25vw, 420px) !important;
    width: clamp(340px, 25vw, 420px) !important;
    margin: 0 !important;
}
#fix_header .w-header__inner,
#fix_header .w-header__item {
    width: 100% !important;
}

.home .apero-category-nav.wp-block-group {
    display: block !important;
    width: 100% !important;
    max-width: 1200px !important;
    margin: 36px auto 72px !important;
    padding: 0 16px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    white-space: nowrap !important;
}
.home .apero-category-nav .wp-block-group__inner-container {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    width: max-content !important;
    max-width: none !important;
    min-width: 100% !important;
    min-height: 44px !important;
    margin: 0 auto !important;
    padding: 0 !important;
}
.home .apero-cat-chip {
    appearance: none !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    gap: 8px !important;
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 24px !important;
    border: 1px solid #f4f2f0 !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: var(--apero-text) !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .02) !important;
}
.home .apero-cat-chip.is-active {
    min-width: 92px !important;
    background: var(--apero-text) !important;
    border-color: var(--apero-text) !important;
    color: #fff !important;
}
.home .apero-cat-chip .material-symbols-outlined {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    color: currentColor !important;
    font-size: 18px !important;
    line-height: 1 !important;
}

@media (max-width: 1180px) {
    #fix_header .w-header {
        flex-basis: 320px !important;
        width: 320px !important;
    }
    #fix_header .c-gnav {
        gap: 18px !important;
    }
}

/* FINAL STITCH PARITY PATCH v5
   Category chips are generated from registered WordPress categories. */
.home .apero-category-nav.wp-block-group {
    box-sizing: border-box !important;
    padding: 0 32px 10px 16px !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
}
.home .apero-category-nav.wp-block-group::-webkit-scrollbar {
    display: none !important;
}
.home .apero-category-nav .wp-block-group__inner-container {
    justify-content: flex-start !important;
    width: max-content !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.home .apero-cat-chip,
.home .apero-cat-chip:visited {
    box-sizing: border-box !important;
    width: auto !important;
    max-width: none !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow: visible !important;
}
.home .apero-cat-chip__label {
    display: inline-block !important;
    white-space: nowrap !important;
    line-height: 1 !important;
}

@media (max-width: 760px) {
    .home .apero-category-nav .wp-block-group__inner-container {
        margin-left: 0 !important;
        margin-right: 0 !important;
    }
}

/* FINAL STITCH PARITY PATCH v6
   Latest excerpts and CTA balance. */
.apero-latest-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 28px 28px !important;
    margin-top: 26px !important;
}
.apero-latest-card {
    min-width: 0 !important;
}
.apero-latest-card__link {
    display: flex !important;
    flex-direction: column !important;
    gap: 14px !important;
    color: inherit !important;
    text-decoration: none !important;
}
.apero-latest-card__thumb {
    position: relative !important;
    aspect-ratio: 4 / 3 !important;
    width: 100% !important;
    overflow: hidden !important;
    border-radius: 18px !important;
    background: #f4f2f0 !important;
}
.apero-latest-card__img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    transition: transform .45s ease !important;
}
.apero-latest-card__link:hover .apero-latest-card__img {
    transform: scale(1.06) !important;
}
.apero-latest-card__body {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
}
.apero-latest-card__cat {
    color: var(--apero-primary) !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}
.apero-latest-card__title {
    margin: 0 !important;
    color: var(--apero-text) !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    line-height: 1.45 !important;
    letter-spacing: 0 !important;
}
.apero-latest-card__excerpt {
    display: -webkit-box !important;
    margin: 0 !important;
    overflow: hidden !important;
    color: var(--apero-muted) !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 1.65 !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
}
.apero-latest-card__date {
    color: #9ca3af !important;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}

.apero-sidebar-cta {
    padding: 32px !important;
    border-radius: 30px !important;
    background: linear-gradient(135deg, var(--apero-primary), #f97316) !important;
    box-shadow: 0 20px 44px rgba(238, 124, 43, .22) !important;
}
.apero-sidebar-cta > .wp-block-group__inner-container {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 16px !important;
    text-align: center !important;
}
.apero-sidebar-cta h3,
.apero-sidebar-cta .wp-block-heading {
    margin: 0 !important;
    font-size: 24px !important;
    line-height: 1.45 !important;
}
.apero-sidebar-cta p {
    max-width: 280px !important;
    margin: 0 auto 4px !important;
    line-height: 1.7 !important;
}
.apero-sidebar-cta .wp-block-buttons,
.apero-sidebar-cta .wp-block-button {
    width: 100% !important;
}
.apero-sidebar-cta .apero-sidebar-cta__btn,
.apero-sidebar-cta .wp-block-button__link {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 48px !important;
    padding: 0 24px !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: var(--apero-primary) !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    box-shadow: 0 6px 16px rgba(0, 0, 0, .08) !important;
}

.apero-app-promo {
    margin-top: 104px !important;
    margin-bottom: 56px !important;
    padding: clamp(40px, 5vw, 64px) !important;
    border-radius: 40px !important;
}
.apero-app-promo > .wp-block-group__inner-container {
    align-items: center !important;
    gap: clamp(40px, 6vw, 88px) !important;
}
.apero-app-promo__content {
    flex: 1 1 0 !important;
}
.apero-app-promo__content h2 {
    margin-bottom: 24px !important;
    font-size: clamp(40px, 4.4vw, 64px) !important;
    line-height: 1.08 !important;
}
.apero-app-promo__content p {
    max-width: 520px !important;
    margin-bottom: 36px !important;
}
.apero-app-promo__buttons {
    gap: 16px !important;
}
.apero-app-promo .wp-block-button {
    margin: 0 !important;
}
.apero-app-promo .apero-btn-primary .wp-block-button__link,
.apero-app-promo .apero-btn-secondary .wp-block-button__link {
    min-height: 56px !important;
    padding: 0 32px !important;
    border-radius: 16px !important;
    font-size: 15px !important;
}
.apero-app-promo .apero-mock-phone {
    flex: 0 0 280px !important;
    max-width: 280px !important;
    margin: 0 auto !important;
}

@media (max-width: 959px) {
    .apero-latest-grid {
        grid-template-columns: 1fr !important;
    }
    .apero-app-promo__content h2 {
        font-size: clamp(32px, 10vw, 44px) !important;
    }
}

/* SINGLE POST STITCH PATCH v1
   Scope: article content only. Header, footer, sidebar and two-column shell are untouched. */
.single-post .p-articleHead,
.single-post .p-articleThumb,
.single-post .c-shareBtns,
.single-post .p-articleMetas {
    display: none !important;
}
.single-post .post_content {
    counter-reset: apero-single-step !important;
    color: #334155 !important;
    font-family: 'Public Sans', 'Noto Sans JP', sans-serif !important;
}
.single-post .apero-single-hero {
    position: relative !important;
    aspect-ratio: 21 / 9 !important;
    width: 100% !important;
    margin: 0 0 32px !important;
    overflow: hidden !important;
    border-radius: 12px !important;
    background: #181411 !important;
}
.single-post .apero-single-hero__img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
}
.single-post .apero-single-hero__overlay {
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    padding: clamp(24px, 5vw, 44px) !important;
    background: linear-gradient(to top, rgba(0,0,0,.82), rgba(0,0,0,.22), rgba(0,0,0,0)) !important;
}
.single-post .apero-single-hero__cat {
    align-self: flex-start !important;
    margin-bottom: 14px !important;
    padding: 5px 12px !important;
    border-radius: 999px !important;
    background: var(--apero-primary) !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-transform: uppercase !important;
}
.single-post .apero-single-hero__title {
    max-width: 880px !important;
    margin: 0 !important;
    color: #fff !important;
    font-size: clamp(24px, 4vw, 36px) !important;
    font-weight: 900 !important;
    line-height: 1.3 !important;
    letter-spacing: 0 !important;
}
.single-post .apero-single-meta {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    margin: 0 0 36px !important;
    padding: 0 0 30px !important;
    border-bottom: 1px solid #e2e8f0 !important;
}
.single-post .apero-single-meta__avatar {
    flex: 0 0 48px !important;
    width: 48px !important;
    height: 48px !important;
    border: 2px solid rgba(236, 91, 19, .22) !important;
    border-radius: 50% !important;
    object-fit: cover !important;
}
.single-post .apero-single-meta__body {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-direction: column !important;
    min-width: 0 !important;
}
.single-post .apero-single-meta__author {
    color: #0f172a !important;
    font-size: 15px !important;
    font-weight: 900 !important;
    line-height: 1.5 !important;
}
.single-post .apero-single-meta__line {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    color: #64748b !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}
.single-post .apero-single-meta__line .material-symbols-outlined {
    font-size: 16px !important;
}
.single-post .apero-single-meta__actions {
    display: flex !important;
    gap: 8px !important;
    margin-left: auto !important;
}
.single-post .apero-single-meta__actions span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    background: #f1f5f9 !important;
    color: #334155 !important;
    font-size: 20px !important;
}
.single-post .post_content > p {
    margin: 0 0 1.55em !important;
    color: #475569 !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    line-height: 1.9 !important;
}
.single-post .apero-single-meta + p {
    font-size: 18px !important;
    line-height: 1.9 !important;
}
.single-post .post_content h2,
.single-post .post_content h3 {
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 52px 0 22px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #0f172a !important;
    font-size: clamp(24px, 3vw, 30px) !important;
    font-weight: 900 !important;
    line-height: 1.45 !important;
}
.single-post .post_content h2::before,
.single-post .post_content h3::before {
    counter-increment: apero-single-step !important;
    content: counter(apero-single-step) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 34px !important;
    width: 34px !important;
    height: 34px !important;
    border-radius: 8px !important;
    background: rgba(236, 91, 19, .1) !important;
    color: var(--apero-primary) !important;
    font-size: 17px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    position: static !important;
}
.single-post .post_content h2::after,
.single-post .post_content h3::after {
    content: none !important;
}
.single-post .post_content ul,
.single-post .post_content ol {
    margin: 18px 0 30px !important;
    padding-left: 1.4em !important;
}
.single-post .post_content li {
    margin: 8px 0 !important;
    color: #475569 !important;
    line-height: 1.8 !important;
}
.single-post .post_content li::marker {
    color: var(--apero-primary) !important;
    font-weight: 900 !important;
}
.single-post .post_content figure,
.single-post .post_content .wp-block-image {
    margin: 36px 0 !important;
}
.single-post .post_content figure img,
.single-post .post_content .wp-block-image img {
    overflow: hidden !important;
    border-radius: 12px !important;
}
.single-post .post_content figcaption {
    margin-top: 10px !important;
    color: #64748b !important;
    font-size: 13px !important;
    font-style: italic !important;
    text-align: center !important;
}
.single-post .post_content blockquote {
    margin: 32px 0 !important;
    padding: 24px 28px !important;
    border: 0 !important;
    border-left: 4px solid var(--apero-primary) !important;
    border-radius: 0 12px 12px 0 !important;
    background: rgba(236, 91, 19, .06) !important;
}
.single-post .post_content blockquote::before,
.single-post .post_content blockquote::after {
    content: none !important;
}
.single-post .post_content blockquote p {
    margin: 0 !important;
    color: #475569 !important;
}
.apero-single-cta {
    margin: 64px auto 24px !important;
    padding: 52px 24px !important;
    border-radius: 16px !important;
    background: linear-gradient(135deg, rgba(236, 91, 19, 0.9) 0%, rgba(236, 91, 19, 1) 100%) !important;
    color: #fff !important;
    text-align: center !important;
    box-shadow: 0 20px 25px -5px rgba(236, 91, 19, 0.2), 0 8px 10px -6px rgba(236, 91, 19, 0.2) !important;
    overflow: hidden !important;
    position: relative !important;
}
@media (min-width: 768px) {
    .apero-single-cta {
        padding: 64px 48px !important;
    }
}
.apero-single-cta__inner {
    max-width: 448px !important;
    margin: 0 auto !important;
}
.apero-single-cta__icon {
    display: block !important;
    margin-top: 0 !important;
    margin-bottom: 24px !important;
    color: #fff !important;
    font-size: 60px !important;
    line-height: 1 !important;
}
.apero-single-cta__title {
    display: block !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-align: center !important;
    color: #fff !important;
    font-size: 32px !important;
    font-weight: 800 !important;
    letter-spacing: 0.05em !important;
    line-height: 1.2 !important;
}
.apero-single-cta__title::before,
.apero-single-cta__title::after {
    content: none !important;
    display: none !important;
}
.apero-single-cta__text {
    margin: 0 0 32px !important;
    color: #fff !important;
    opacity: 0.92 !important;
    font-size: 16px !important;
    line-height: 1.7 !important;
}
.apero-single-cta__button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    width: 100% !important;
    padding: 16px 32px !important;
    border-radius: 12px !important;
    background: #06C755 !important;
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    transition: transform 0.2s ease, background 0.2s ease !important;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1) !important;
}
.apero-single-cta__button:hover {
    background: #05b14c !important;
    transform: translateY(-1px) !important;
}
.apero-single-cta__button:active {
    transform: scale(0.98) !important;
}
.apero-single-cta__note {
    margin: 16px 0 0 !important;
    color: #fff !important;
    opacity: 0.7 !important;
    font-size: 12px !important;
}

/* CTA title must not inherit article heading counters/styles. */
.single-post .post_content .apero-single-cta .apero-single-cta__title,
.single-post .apero-single-cta .apero-single-cta__title,
.apero-single-cta .apero-single-cta__title {
    display: block !important;
    align-items: initial !important;
    gap: 0 !important;
    margin: 0 0 12px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #fff !important;
    font-size: 32px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    letter-spacing: 0.05em !important;
    text-align: center !important;
}
.single-post .post_content .apero-single-cta .apero-single-cta__title::before,
.single-post .post_content .apero-single-cta .apero-single-cta__title::after,
.single-post .apero-single-cta .apero-single-cta__title::before,
.single-post .apero-single-cta .apero-single-cta__title::after,
.apero-single-cta .apero-single-cta__title::before,
.apero-single-cta .apero-single-cta__title::after {
    content: none !important;
    display: none !important;
}


@media (max-width: 959px) {
    .single-post .apero-single-hero {
        aspect-ratio: 16 / 10 !important;
    }
    .single-post .apero-single-meta__actions {
        display: none !important;
    }
    .single-post .post_content h2,
    .single-post .post_content h3 {
        align-items: flex-start !important;
    }
}

/* SAFETY LOCK: menu visibility fix.
   Do not hide any PC menu item. The header CTA is the search submit button,
   not a menu item. */
#header .c-gnav > li,
#fix_header .c-gnav > li,
body #header .c-gnav > li:nth-child(n+4),
body #fix_header .c-gnav > li:nth-child(n+4),
body #header .c-gnav > li:last-child,
body #fix_header .c-gnav > li:last-child {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    width: auto !important;
    max-width: none !important;
    overflow: visible !important;
}
#header .c-gnav > li > a .ttl,
#fix_header .c-gnav > li > a .ttl {
    padding: 0 !important;
    background: transparent !important;
    color: var(--apero-text, #181411) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* Header CTA is the search submit button, not a menu item. */
#header .c-searchForm,
#fix_header .c-searchForm {
    overflow: visible !important;
}
#header .c-searchForm__submit,
#fix_header .c-searchForm__submit {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 136px !important;
    height: 40px !important;
    margin: 0 !important;
    padding: 0 20px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #ee7c2b !important;
    color: #fff !important;
    box-shadow: 0 8px 18px rgba(238, 124, 43, .24) !important;
    font-size: 0 !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    cursor: pointer !important;
    order: 2 !important;
}
#header .c-searchForm__submit::before,
#fix_header .c-searchForm__submit::before {
    content: none !important;
    display: none !important;
}
#header .c-searchForm__submit::after,
#fix_header .c-searchForm__submit::after {
    content: "飲み友を探す" !important;
    display: block !important;
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}
