:root{
  --otn-navy:#15263c;
  --otn-navy-2:#0d1929;
  --otn-pink:#e45f79;
  --otn-pink-dark:#ca4564;
  --otn-cream:#faf5ed;
  --otn-paper:#f4eee8;
  --otn-ink:#131a23;
  --otn-muted:#66707d;
  --otn-white:#fff;
  --otn-border:rgba(21,38,60,.13);
  --otn-shadow:0 24px 60px rgba(21,38,60,.12);
}

html{scroll-behavior:smooth}
body.otakunest-site{background:var(--otn-cream);color:var(--otn-ink);font-family:'Inter',Arial,sans-serif}
body.otakunest-site a{transition:all .22s ease}
body.otakunest-site h1,body.otakunest-site h2,body.otakunest-site h3,body.otakunest-site h4{letter-spacing:-.02em}

/* Astra header */
.otakunest-site #masthead .ast-primary-header-bar{background:rgba(250,245,237,.96);border-bottom:1px solid var(--otn-border);backdrop-filter:blur(14px)}
.otakunest-site .site-header-primary-section-left{gap:18px}
.otakunest-site .custom-logo-link img{max-height:66px;width:auto}
.otakunest-site .main-header-menu>.menu-item>a{font-family:'Inter',sans-serif;font-weight:800;text-transform:uppercase;letter-spacing:.04em;font-size:13px;color:var(--otn-navy)}
.otakunest-site .main-header-menu>.menu-item>a:hover,.otakunest-site .main-header-menu>.current-menu-item>a{color:var(--otn-pink)}
.otakunest-site .ast-mobile-popup-drawer .ast-mobile-popup-inner{background:var(--otn-cream)}

/* Elementor surface */
.otakunest-site .elementor-page .site-content>.ast-container{max-width:none;padding:0}
.otakunest-site .elementor-page .entry-content{margin:0}
.otakunest-site .elementor-widget-text-editor p:last-child{margin-bottom:0}
.otakunest-site .otn-display .elementor-heading-title{font-family:'Anton',Impact,sans-serif!important;letter-spacing:.01em!important;text-transform:uppercase}
.otakunest-site .otn-jp .elementor-heading-title{font-family:'Noto Sans JP',sans-serif!important}
.otakunest-site .otn-kicker .elementor-heading-title{font-family:'Inter',sans-serif!important;font-weight:800!important;letter-spacing:.14em!important;text-transform:uppercase!important}

/* Buttons */
.otakunest-site .otn-btn-primary .elementor-button,
.otakunest-site .otn-btn-secondary .elementor-button,
.otakunest-site .otn-btn-dark .elementor-button{
  min-height:50px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px!important;
  padding:14px 24px!important;font-family:'Inter',sans-serif;font-weight:800!important;text-transform:uppercase;letter-spacing:.04em;font-size:13px;
  box-shadow:none!important
}
.otakunest-site .otn-btn-primary .elementor-button{background:var(--otn-pink)!important;color:#fff!important;border:2px solid var(--otn-pink)!important}
.otakunest-site .otn-btn-primary .elementor-button:hover{background:var(--otn-pink-dark)!important;border-color:var(--otn-pink-dark)!important;transform:translateY(-2px)}
.otakunest-site .otn-btn-secondary .elementor-button{background:transparent!important;color:var(--otn-navy)!important;border:2px solid var(--otn-navy)!important}
.otakunest-site .otn-btn-secondary .elementor-button:hover{background:var(--otn-navy)!important;color:#fff!important;transform:translateY(-2px)}
.otakunest-site .otn-btn-dark .elementor-button{background:var(--otn-navy)!important;color:#fff!important;border:2px solid var(--otn-navy)!important}
.otakunest-site .otn-btn-dark .elementor-button:hover{background:var(--otn-pink)!important;border-color:var(--otn-pink)!important;transform:translateY(-2px)}

/* Cards & images */
.otakunest-site .otn-card{background:#fff;border:1px solid var(--otn-border);border-radius:18px;box-shadow:0 12px 34px rgba(21,38,60,.08);overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}
.otakunest-site .otn-card:hover{transform:translateY(-5px);box-shadow:var(--otn-shadow)}
.otakunest-site .otn-soft-card{background:rgba(255,255,255,.72);border:1px solid var(--otn-border);border-radius:18px}
.otakunest-site .otn-image-frame img{border-radius:18px;display:block;width:100%;box-shadow:var(--otn-shadow)}
.otakunest-site .otn-hero-carousel{border-radius:22px;overflow:hidden;box-shadow:0 28px 80px rgba(8,17,29,.24);border:1px solid rgba(255,255,255,.35)}
.otakunest-site .otn-hero-carousel .swiper-slide-image{width:100%;height:520px;object-fit:cover}
.otakunest-site .otn-hero-carousel .elementor-swiper-button{background:rgba(21,38,60,.85);width:42px;height:42px;border-radius:999px;color:#fff!important;display:flex;align-items:center;justify-content:center}
.otakunest-site .otn-hero-carousel .swiper-pagination-bullet{background:#fff;opacity:.65}.otakunest-site .otn-hero-carousel .swiper-pagination-bullet-active{background:var(--otn-pink);opacity:1}
.otakunest-site .otn-hero-badge{display:inline-flex;width:max-content;background:rgba(228,95,121,.12);border:1px solid rgba(228,95,121,.3);border-radius:999px;padding:8px 12px;color:var(--otn-pink);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}

/* Dynamic editorial grids */
.otn-posts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.otn-post-card{background:#fff;border:1px solid var(--otn-border);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;min-height:100%;box-shadow:0 10px 32px rgba(21,38,60,.07);transition:transform .25s ease,box-shadow .25s ease}
.otn-post-card:hover{transform:translateY(-5px);box-shadow:var(--otn-shadow)}
.otn-post-card__media{aspect-ratio:16/10;background:var(--otn-navy);overflow:hidden;display:block}
.otn-post-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.otn-post-card:hover .otn-post-card__media img{transform:scale(1.035)}
.otn-post-card__body{padding:22px;display:flex;flex-direction:column;gap:12px;flex:1}
.otn-post-card__meta{display:flex;gap:9px;align-items:center;flex-wrap:wrap;color:var(--otn-muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.otn-post-card__category{color:var(--otn-pink)}
.otn-post-card h3{font-size:22px;line-height:1.16;margin:0;color:var(--otn-navy)}
.otn-post-card h3 a{color:inherit;text-decoration:none}.otn-post-card h3 a:hover{color:var(--otn-pink)}
.otn-post-card p{color:var(--otn-muted);font-size:14px;line-height:1.65;margin:0}
.otn-post-card__read{margin-top:auto;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--otn-navy);text-decoration:none}
.otn-post-card__read:hover{color:var(--otn-pink)}
.otn-rating{display:inline-flex;align-items:center;gap:6px;background:var(--otn-navy);color:#fff;border-radius:999px;padding:6px 10px;font-weight:800;font-size:12px}
.otn-rating strong{color:#fff}.otn-rating span{color:var(--otn-pink)}
.otn-empty{padding:26px;border:1px dashed var(--otn-border);border-radius:16px;background:rgba(255,255,255,.6);color:var(--otn-muted)}

/* FAQ */
.otn-faq{display:grid;gap:12px}.otn-faq details{background:#fff;border:1px solid var(--otn-border);border-radius:14px;padding:0 20px;box-shadow:0 8px 24px rgba(21,38,60,.05)}
.otn-faq summary{list-style:none;cursor:pointer;font-weight:800;color:var(--otn-navy);padding:20px 34px 20px 0;position:relative}.otn-faq summary::-webkit-details-marker{display:none}
.otn-faq summary:after{content:'+';position:absolute;right:0;top:16px;width:28px;height:28px;border-radius:50%;background:var(--otn-paper);color:var(--otn-pink);display:grid;place-items:center;font-size:20px;font-weight:500}
.otn-faq details[open] summary:after{content:'–';background:var(--otn-pink);color:#fff}.otn-faq details p{padding:0 0 20px;margin:0;color:var(--otn-muted);line-height:1.7}

/* Contact form */
.otn-contact-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.otn-contact-form .full{grid-column:1/-1}.otn-contact-form label{display:block;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--otn-navy);margin-bottom:7px}
.otn-contact-form input,.otn-contact-form textarea{width:100%;border:1px solid var(--otn-border);border-radius:12px;background:#fff;padding:14px 15px;font-family:'Inter',sans-serif;color:var(--otn-ink);outline:none}.otn-contact-form input:focus,.otn-contact-form textarea:focus{border-color:var(--otn-pink);box-shadow:0 0 0 3px rgba(228,95,121,.12)}
.otn-contact-form button{border:0;border-radius:10px;background:var(--otn-pink);color:#fff;font-weight:800;text-transform:uppercase;letter-spacing:.05em;padding:15px 22px;cursor:pointer}.otn-contact-form button:hover{background:var(--otn-pink-dark)}
.otn-form-notice{grid-column:1/-1;padding:13px 15px;border-radius:10px;font-size:14px}.otn-form-notice.success{background:#eaf8ef;color:#196b38}.otn-form-notice.error{background:#fff0f2;color:#9c2c43}

/* Shop */
.otn-shop-message{padding:22px;background:#fff;border:1px solid var(--otn-border);border-radius:16px;color:var(--otn-muted)}
.otakunest-site .woocommerce ul.products li.product{background:#fff;border:1px solid var(--otn-border);border-radius:18px;padding:0 0 20px;overflow:hidden;box-shadow:0 10px 30px rgba(21,38,60,.06);transition:.25s ease}
.otakunest-site .woocommerce ul.products li.product:hover{transform:translateY(-5px);box-shadow:var(--otn-shadow)}
.otakunest-site .woocommerce ul.products li.product img{margin:0 0 16px!important;aspect-ratio:1/1;object-fit:cover}
.otakunest-site .woocommerce ul.products li.product .woocommerce-loop-product__title{padding:0 18px!important;font-size:17px!important;color:var(--otn-navy)}
.otakunest-site .woocommerce ul.products li.product .price{padding:0 18px;color:var(--otn-pink)!important;font-weight:800}
.otakunest-site .woocommerce ul.products li.product .button{margin:10px 18px 0!important;background:var(--otn-navy);color:#fff;border-radius:9px;padding:12px 15px;font-weight:800}
.otakunest-site .woocommerce ul.products li.product .button:hover{background:var(--otn-pink)}

/* Single articles */
.otakunest-site.single-post .site-content>.ast-container,.otakunest-site.archive .site-content>.ast-container{max-width:1200px;padding:52px 24px}
.otakunest-site.single-post article{background:#fff;border:1px solid var(--otn-border);border-radius:22px;padding:36px;box-shadow:0 12px 40px rgba(21,38,60,.06)}
.otakunest-site.single-post .entry-title{font-family:'Anton',Impact,sans-serif;text-transform:uppercase;color:var(--otn-navy);font-size:clamp(36px,5vw,64px);line-height:1.03}
.otakunest-site.single-post .post-thumb img{border-radius:18px}

/* Rich footer */
.otn-site-footer{background:var(--otn-navy-2);color:rgba(255,255,255,.78);padding:62px 24px 48px;border-top:5px solid var(--otn-pink)}
.otn-site-footer__inner{max-width:1200px;margin:auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:48px}.otn-site-footer__brand .custom-logo-link img{filter:none;max-width:230px;max-height:none}.otn-site-footer__brand>strong{font-family:'Anton',Impact,sans-serif;font-size:35px;color:#fff}.otn-site-footer p{max-width:540px;line-height:1.7;margin-top:18px}.otn-site-footer h4{color:#fff;font-size:14px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:18px}.otn-site-footer a{display:block;color:rgba(255,255,255,.76);margin:10px 0;text-decoration:none}.otn-site-footer a:hover{color:var(--otn-pink)}
.otakunest-site .site-below-footer-wrap{background:#08111d!important;color:rgba(255,255,255,.58)!important;border:0!important}.otakunest-site .site-below-footer-wrap a{color:var(--otn-pink)!important}

/* Utility */
.otn-category-pills{display:flex;gap:10px;flex-wrap:wrap}.otn-category-pills a{display:inline-flex;padding:9px 13px;border-radius:999px;background:#fff;border:1px solid var(--otn-border);color:var(--otn-navy);font-size:12px;font-weight:800;text-transform:uppercase;text-decoration:none}.otn-category-pills a:hover{background:var(--otn-pink);border-color:var(--otn-pink);color:#fff}
.otn-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.otn-stat{background:#fff;border:1px solid var(--otn-border);border-radius:14px;padding:18px}.otn-stat strong{display:block;color:var(--otn-navy);font-family:'Anton',Impact,sans-serif;font-size:30px;letter-spacing:.01em}.otn-stat span{font-size:12px;color:var(--otn-muted);font-weight:700;text-transform:uppercase;letter-spacing:.06em}

@media(max-width:1024px){
 .otn-posts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .otakunest-site .otn-hero-carousel .swiper-slide-image{height:430px}
 .otn-site-footer__inner{grid-template-columns:1.5fr 1fr 1fr;gap:28px}
}
@media(max-width:767px){
 .otakunest-site .custom-logo-link img{max-height:52px}
 .otn-posts-grid{grid-template-columns:1fr;gap:18px}
 .otakunest-site .otn-hero-carousel .swiper-slide-image{height:280px}
 .otn-contact-form{grid-template-columns:1fr}.otn-contact-form .full{grid-column:auto}
 .otn-site-footer__inner{grid-template-columns:1fr;gap:30px}.otn-site-footer{padding:46px 20px}
 .otn-stats{grid-template-columns:1fr}
}

/* Elementor/Astra page-builder fixes */
.otakunest-site.elementor-page .entry-header{display:none!important}
.otakunest-site.elementor-page .site-content>.ast-container{width:100%;max-width:none!important;padding-left:0!important;padding-right:0!important}
.otakunest-site.elementor-page .content-area{width:100%;margin:0;padding:0}
.otakunest-site.elementor-page .site-main{margin:0}
.otakunest-site .otn-btn-outline-light .elementor-button{min-height:50px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px!important;padding:14px 24px!important;font-family:'Inter',sans-serif;font-weight:800!important;text-transform:uppercase;letter-spacing:.04em;font-size:13px;background:transparent!important;color:#fff!important;border:2px solid rgba(255,255,255,.85)!important;box-shadow:none!important}
.otakunest-site .otn-btn-outline-light .elementor-button:hover{background:#fff!important;color:var(--otn-navy)!important;transform:translateY(-2px)}
