/** Shopify CDN: Minification failed

Line 612:0 Expected "}" to go with "{"

**/

/* ============================================
   YOGUPO Custom CSS — TOP page overhaul
   ============================================ */

html { scroll-behavior: smooth; }

/* ── Global section spacing ── */
.index-section {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* ── Hero slideshow ── */
.slideshow .slide__subtitle {
  font-size: 15px !important;
  letter-spacing: 0.12em !important;
  opacity: 0.95 !important;
}

.slideshow .btn,
.hero-video .btn {
  background: #f56666 !important;
  border-color: #f56666 !important;
  border-radius: 999px !important;
  padding: 16px 40px !important;
  font-size: 15px !important;
  letter-spacing: 0.1em !important;
  font-weight: 600 !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 4px 16px rgba(245, 102, 102, 0.3) !important;
}

.slideshow .btn:hover,
.hero-video .btn:hover {
  background: #e04e4e !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 8px 24px rgba(245, 102, 102, 0.45) !important;
}

/* ── Featured product (buy card) ── */
.featured-product .product-single__title {
  letter-spacing: 0.06em;
}

.featured-product .btn--primary {
  border-radius: 999px !important;
  letter-spacing: 0.08em !important;
  font-weight: 600 !important;
  transition: all 0.3s ease !important;
}

.featured-product .btn--primary:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(245, 102, 102, 0.4) !important;
}

/* ── Section heading (3つの特徴) ── */
.rich-text .section-header__title {
  font-size: 28px !important;
  letter-spacing: 0.12em !important;
  color: #333 !important;
}

.rich-text .section-header__title::after {
  content: '';
  display: block;
  width: 40px;
  height: 3px;
  background: #f56666;
  margin: 16px auto 0;
  border-radius: 999px;
}

/* ── Background image text (features) ── */
.background-image-text {
  overflow: hidden;
}

.background-image-text .background-image-text__content {
  backdrop-filter: blur(3px);
  padding: 40px 36px !important;
}

.background-image-text h2 {
  font-size: 28px !important;
  letter-spacing: 0.1em !important;
  line-height: 1.4 !important;
}

.background-image-text .background-image-text__subtitle {
  font-size: 12px !important;
  letter-spacing: 0.2em !important;
  color: #f56666 !important;
  text-transform: uppercase;
  font-weight: 600 !important;
}

.background-image-text .rte p {
  font-size: 14px !important;
  line-height: 2.0 !important;
  color: rgba(255,255,255,0.9) !important;
}

.background-image-text .rte strong {
  color: #fff !important;
}

/* ── Vet comment ── */
.image-with-text__content {
  background: #fff9f4 !important;
  padding: 32px !important;
  border-radius: 18px !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.04) !important;
}

.image-with-text h2 {
  font-size: 22px !important;
  letter-spacing: 0.1em !important;
  margin-bottom: 12px !important;
  color: #333 !important;
}

.image-with-text .rte p {
  font-size: 14px !important;
  line-height: 1.9 !important;
  color: #555 !important;
}

/* ── FAQ ── */
.faq-section .section-header__title {
  font-size: 26px !important;
  letter-spacing: 0.08em !important;
  color: #333 !important;
}

.faq-section .collapsible-trigger {
  font-size: 15px !important;
  padding: 20px 0 !important;
  letter-spacing: 0.04em !important;
  font-weight: 500 !important;
}

.faq-section .collapsible-content__inner {
  line-height: 1.9 !important;
  color: #666 !important;
  font-size: 14px !important;
  padding-bottom: 16px !important;
}

/* ── Testimonials ── */
.testimonials .testimonial__image {
  border: 3px solid #f4c2c2;
}

.testimonials .testimonial__text p {
  font-size: 13px;
  line-height: 1.7;
}

/* ── CTA buttons everywhere ── */
.rich-text .btn,
.featured-product .btn {
  border-radius: 999px !important;
  letter-spacing: 0.08em !important;
  font-weight: 600 !important;
}

/* ── Blog posts ── */
.blog-posts .article__title {
  font-size: 15px !important;
  line-height: 1.6 !important;
}

/* ── Hero video ── */
.hero-video .hero__text-shadow {
  text-shadow: none !important;
}

/* ── Announcement bar ── */
.announcement-bar {
  letter-spacing: 0.06em;
  font-size: 13px;
}

/* ── Footer ── */
.site-footer {
  border-top: none !important;
}

/* ── Floating CTA (mobile) ── */
#yogupo-fixed-cta {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  background: #fff;
  border-top: 1px solid #f0e0e0;
  padding: 10px 16px;
  z-index: 99998;
  box-shadow: 0 -4px 16px rgba(0,0,0,0.08);
}

#yogupo-fixed-cta a {
  display: block;
  background: #f56666;
  color: #fff;
  text-align: center;
  padding: 14px 0;
  border-radius: 999px;
  font-weight: 700;
  font-size: 15px;
  letter-spacing: 0.08em;
  text-decoration: none;
}

@media (max-width: 768px) {
  

/* ── Product page redesign ── */

/* Title */
.product-single__title {
  font-size: 22px !important;
  letter-spacing: 0.06em !important;
  line-height: 1.5 !important;
  color: #333 !important;
  font-weight: 700 !important;
}

/* Price */
.product-single__meta .product__price {
  font-size: 24px !important;
  font-weight: 700 !important;
  color: #333 !important;
}

/* Variant buttons (mikawaya subscription) */
.mikawaya-product-page-widget-container {
  margin: 12px 0 !important;
}

/* Buy button */
.product-single__form .btn--primary,
.product-single__form .btn--add-to-cart {
  background: linear-gradient(135deg, #f56666 0%, #e85555 100%) !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 18px 0 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  box-shadow: 0 6px 20px rgba(245,102,102,0.35) !important;
  transition: all 0.3s ease !important;
  width: 100% !important;
}

.product-single__form .btn--primary:hover,
.product-single__form .btn--add-to-cart:hover {
  background: linear-gradient(135deg, #e85555 0%, #d44444 100%) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 28px rgba(245,102,102,0.45) !important;
}


/* Product images */
.product-image-main {
  border-radius: 12px !important;
  overflow: hidden !important;
}

/* Product recommendations */
.product-recommendations .section-header__title {
  font-size: 20px !important;
  letter-spacing: 0.08em !important;
}

/* Custom HTML blocks (coupon, info) spacing */
.product-block .product-block__custom-html {
  margin: 8px 0 !important;
}

/* ── Mobile specific ── */
@media (max-width: 768px) {

  .product-single__title {
    font-size: 20px !important;
    text-align: center !important;
    padding: 0 8px !important;
  }

  .product-single__meta .product__price {
    text-align: center !important;
    font-size: 22px !important;
  }

  /* Product image: full bleed */
  .product-single__photos {
    margin: 0 -20px !important;
  }

  .product-image-main {
    border-radius: 0 !important;
  }

  /* Buy button bigger on mobile */
  .product-single__form .btn--primary,
  .product-single__form .btn--add-to-cart {
    padding: 20px 0 !important;
    font-size: 17px !important;
  }

  /* Section spacing */
  .product-single__meta {
    padding: 0 4px !important;
  }

  /* Tab touch targets bigger */
  .product-block--tab .collapsible-trigger {
    padding: 18px 0 !important;
    font-size: 14px !important;
  }

  /* Judge.me badge */
  .jdgm-prev-badge {
    text-align: center !important;
    margin: 8px 0 !important;
  }

  /* Recommendations grid */
  .product-recommendations .grid-product {
    padding: 0 8px !important;
  }
}

/* ── YOGUPO Product Page Blocks ── */
.yp-sec{padding:28px 0;border-top:1px solid #f0f0f0;font-family:inherit}
.yp-label{font-size:11px;color:#f56666;text-align:center;letter-spacing:3px;margin:0 0 4px}
.yp-h2{font-size:16px;font-weight:700;color:#2d2d2d;text-align:center;margin:0 0 20px}
.yp-card{padding:16px;background:#fafafa;border-radius:12px}
.yp-card-num{font-size:11px;color:#f56666;font-weight:700;margin-bottom:2px}
.yp-card-t{font-size:14px;font-weight:700;color:#2d2d2d;margin-bottom:4px}
.yp-card-d{font-size:12px;color:#8a8a8a;line-height:1.8}
.yp-step{display:flex;gap:14px;align-items:flex-start}
.yp-step-n{flex-shrink:0;width:28px;height:28px;border-radius:50%;background:#f56666;color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700}
.yp-step-t{font-size:13px;font-weight:700;color:#2d2d2d;margin:0 0 2px}
.yp-step-d{font-size:11px;color:#8a8a8a;line-height:1.7;margin:0}
.yp-tb{width:100%;border-collapse:collapse;font-size:12px}
.yp-tb tr{border-bottom:1px solid #f0f0f0}
.yp-tb th{padding:12px 10px;color:#8a8a8a;width:30%;vertical-align:top;text-align:left;font-weight:400}
.yp-tb td{padding:12px 10px;color:#2d2d2d}
.yp-faq details{background:#fafafa;border-radius:10px;padding:14px 16px;cursor:pointer}
.yp-faq summary{font-size:12px;font-weight:600;color:#2d2d2d;list-style:none}
.yp-faq summary::-webkit-details-marker{display:none}
.yp-faq p{font-size:11px;color:#5a5a5a;line-height:1.9;margin:10px 0 0}
.yp-badges{display:flex;gap:8px;margin:8px 0 16px;font-family:inherit}
.yp-badge{flex:1;text-align:center;padding:12px 6px;background:#fafafa;border-radius:10px}
.yp-badge-v{font-weight:700;color:#f56666}
.yp-badge-l{font-size:9px;color:#8a8a8a;margin-top:2px}
.yp-price-box{border:1px solid #e8e8e8;border-radius:12px;padding:16px 14px;margin:0 0 16px;font-family:inherit}
.yp-gg{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.yp-gi{background:#fafafa;border-radius:12px;padding:16px 14px;text-align:center}
.yp-gi-t{font-size:13px;font-weight:700;color:#2d2d2d;margin:0 0 4px}
.yp-gi-d{font-size:11px;color:#8a8a8a;line-height:1.6;margin:0}
.yp-vet{display:flex;gap:14px;align-items:flex-start;background:#fafafa;border-radius:12px;padding:20px}
.yp-vet img{width:52px;height:52px;border-radius:50%;object-fit:cover;flex-shrink:0}
.yp-vet-name{font-size:13px;font-weight:700;color:#2d2d2d;margin:0 0 4px}
.yp-vet-txt{font-size:12px;color:#5a5a5a;line-height:1.9;margin:0}
.yp-note{font-size:9px;color:#bbb;margin:6px 0 0}
.yp-coupon{background:#fff5f5;border-radius:12px;padding:16px 14px;text-align:center;margin:16px 0;font-family:inherit}
.yp-coupon-t{font-size:13px;font-weight:700;color:#f56666;margin:0 0 4px}
.yp-coupon-sub{font-size:10px;color:#8a8a8a;margin:0 0 12px}
.yp-coupon-box{display:flex;align-items:stretch;border:2px solid #f56666;border-radius:8px;overflow:hidden}
.yp-coupon-code{flex-grow:1;background:#fff;padding:8px 10px;font-size:17px;font-weight:900;color:#f56666;letter-spacing:2px;text-align:center;display:flex;align-items:center;justify-content:center}
.yp-coupon-btn{flex-shrink:0;background:#f56666;color:#fff;border:none;padding:8px 16px;font-size:12px;font-weight:700;cursor:pointer;font-family:inherit}
.yp-cta{text-align:center;padding:24px 16px;background:linear-gradient(135deg,#fff5f5,#fce8e8);border-radius:14px}
.yp-cta-t{font-size:15px;font-weight:700;color:#2d2d2d;margin:0 0 4px}
.yp-cta-sub{font-size:11px;color:#8a8a8a;margin:0 0 14px}
.yp-cta-btn{display:inline-block;background:#fff;color:#f56666;border:1.5px solid #f56666;padding:8px 24px;font-size:12px;font-weight:700;border-radius:8px;text-decoration:none}
.yp-feed-tb{width:100%;border-collapse:collapse;font-size:12px}
.yp-feed-tb th{background:#f56666;color:#fff;padding:10px;text-align:center;font-weight:700}
.yp-feed-tb th:first-child{border-radius:8px 0 0 0}
.yp-feed-tb th:last-child{border-radius:0 8px 0 0}
.yp-feed-tb td{padding:10px;text-align:center;color:#2d2d2d}
.yp-feed-tb tr:nth-child(even){background:#fafafa}
.yp-feed-hi{color:#f56666;font-weight:700}
.yp-link{font-size:11px;color:#f56666;font-weight:600;text-decoration:none;border-bottom:1px solid #f56666}


/* ── Cart Page ── */
.template-cart .section-header__title {
  font-size: 22px !important;
  letter-spacing: 0.08em !important;
  color: #333 !important;
}

.cart__checkout {
  background: linear-gradient(135deg, #f56666 0%, #e85555 100%) !important;
  border: none !important;
  border-radius: 999px !important;
  padding: 18px 0 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 0.1em !important;
  box-shadow: 0 6px 20px rgba(245,102,102,0.35) !important;
  transition: all 0.3s ease !important;
  width: 100% !important;
}

.cart__checkout:hover {
  background: linear-gradient(135deg, #e85555 0%, #d44444 100%) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 10px 28px rgba(245,102,102,0.45) !important;
}

.yp-cart-coupon {
  background: #fff5f5;
  border: 2px solid #f56666;
  border-radius: 12px;
  padding: 16px;
  text-align: center;
  margin: 20px 0;
}

.yp-cart-trust {
  display: flex;
  gap: 8px;
  margin: 16px 0;
}

.yp-cart-trust-item {
  flex: 1;
  text-align: center;
  padding: 12px 8px;
  background: #fafafa;
  border-radius: 10px;
}

.yp-cart-trust-icon {
  font-size: 16px;
  color: #f56666;
  margin-bottom: 4px;
}

.yp-cart-trust-text {
  font-size: 10px;
  color: #666;
  line-height: 1.4;
  font-weight: 600;
}

.yp-cart-pet {
  margin: 20px 0;
  padding: 24px 20px;
  background: linear-gradient(135deg, #fffaf8, #fff5f0);
  border: 1px solid #f4c2c2;
  border-radius: 14px;
}

.yp-cart-pet label {
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: #555;
  margin-bottom: 4px;
}

.yp-cart-pet input[type="text"],
.yp-cart-pet input[type="date"] {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #f0ebe6;
  border-radius: 8px;
  font-size: 14px;
  font-family: inherit;
  transition: border-color 0.2s;
  box-sizing: border-box;
}

.yp-cart-pet input:focus {
  outline: none;
  border-color: #f56666;
}

.cart__item--image .image-wrap {
  border-radius: 10px !important;
  overflow: hidden !important;
}

.cart__product-name {
  font-weight: 600 !important;
  color: #333 !important;
}

.cart__item {
  padding: 20px 0 !important;
}

.cart__empty-text {
  padding: 20px 0 !important;
}

.yp-cart-empty-btn {
  display: inline-block;
  background: #f56666;
  color: #fff !important;
  padding: 14px 36px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  letter-spacing: 0.08em;
  box-shadow: 0 4px 12px rgba(245,102,102,0.3);
  margin-top: 12px;
}

@media (max-width: 768px) {
  .yp-cart-trust {
    flex-wrap: wrap;
  }
  .yp-cart-trust-item {
    flex: 1 1 45%;
  }
}


/* ── Announcement Bar ── */
.announcement {
  background: linear-gradient(135deg, #f56666 0%, #e85555 50%, #f56666 100%) !important;
  background-size: 200% 100% !important;
  animation: yp-annc-shimmer 3s ease-in-out infinite !important;
  padding: 10px 16px !important;
  color: #fff !important;
}

@keyframes yp-annc-shimmer {
  0%, 100% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
}

.announcement__text,
.announcement__link {
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-decoration: none !important;
}

.announcement__link:hover {
  opacity: 0.9 !important;
}


/* ── Cart Extras (full-width below checkout) ── */
.yp-cart-extras {
  max-width: 500px;
  margin: 30px auto 0;
  padding: 0 16px;
}

.yp-cart-extras .yp-cart-coupon {
  text-align: center;
}

.yp-cart-extras .yp-cart-trust {
  justify-content: center;
}

.yp-cart-extras .yp-cart-pet {
  text-align: left;
}

/* Desktop: center everything nicely */
@media (min-width: 769px) {
  .yp-cart-extras {
    max-width: 480px;
  }
  
  .cart__footer .grid__item {
    text-align: center !important;
  }
}


/* ── Delivery DateTime center ── */
.template-cart [data-shopify-editor-block] {
  max-width: 600px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}


/* ── Cart footer center on desktop ── */
@media (min-width: 769px) {
  .cart__footer .grid__item.medium-up--one-half {
    width: 100% !important;
    max-width: 500px !important;
    margin: 0 auto !important;
    float: none !important;
  }
  .cart__footer .grid__item.medium-up--push-one-half {
    left: 0 !important;
  }
}
