/* ICANCROCHET storefront — product summary, announcement bar, page rhythm */

:root{
  --icp:#e00189; --icp-dark:#b30070; --icp-bg:#fff7fa; --icp-bg2:#fff0f5;
  --icb:#f8c8d8; --icb2:#f3c9d6; --ict:#333130; --ict2:#5c5048; --icm:#888;
}

/* ---------------- page ground ---------------- */
body.ic-shop-page{background:var(--icp-bg)}
body.ic-shop-page #content,
body.ic-shop-page .site-content{background:transparent}
body.ic-shop-page .ast-container{max-width:1140px}

/* Astra prints a plain breadcrumb above the product; quieten it */
body.ic-shop-page .woocommerce-breadcrumb{font-size:12.5px;color:#a99;margin:0 0 14px}
body.ic-shop-page .woocommerce-breadcrumb a{color:#b98a99}

/* ---------------- announcement bar ---------------- */
.ic-announce{background:var(--icp);color:#fff;text-align:center;padding:9px 16px;font-family:'Nunito',sans-serif;font-size:13px;font-weight:800;letter-spacing:.03em;line-height:1.4}
.ic-announce a{color:#fff;text-decoration:underline;text-underline-offset:2px}
@media (max-width:600px){.ic-announce{font-size:11.5px;padding:8px 12px}}

/* ---------------- product summary ---------------- */
.woocommerce div.product .summary.entry-summary{font-family:'Nunito',sans-serif}

.ic-p-title{
  font-family:'Nunito',sans-serif;font-size:clamp(21px,2.4vw,27px);font-weight:800;
  line-height:1.25;color:var(--ict);margin:0 0 12px;letter-spacing:-.01em;
}

.ic-rating-row{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:0 0 12px}
.ic-stars{color:#ffb400;font-size:16px;letter-spacing:2px;line-height:1}
.ic-rating-txt{font-size:13px;color:var(--icm);font-weight:600}
.ic-badge-off{
  background:var(--icp);color:#fff;font-size:10.5px;font-weight:800;letter-spacing:.07em;
  text-transform:uppercase;padding:5px 11px;border-radius:20px;white-space:nowrap;
}

.ic-price{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin:0 0 4px}
.ic-price-now{font-size:clamp(28px,3.4vw,36px);font-weight:800;color:var(--icp);line-height:1}
.ic-price-now .woocommerce-Price-amount{color:var(--icp)}
.ic-price-was{font-size:18px;color:#b3a7ab;text-decoration:line-through}
.ic-price-was .woocommerce-Price-amount{color:#b3a7ab}
.ic-price-note{font-size:13px;color:var(--icm);margin:0 0 14px;line-height:1.5}

.ic-countdown{
  display:flex;align-items:center;gap:8px;justify-content:center;
  background:var(--icp-bg2);border:1px dashed var(--icb);border-radius:10px;
  padding:9px 14px;margin:0 0 16px;font-size:13.5px;color:var(--ict2);font-weight:700;
}
.ic-cd-clock{font-variant-numeric:tabular-nums;font-weight:800;color:var(--icp);letter-spacing:.5px}

/* the real add-to-cart button */
.woocommerce div.product form.cart{margin:0 0 16px!important;display:block}
.woocommerce div.product form.cart .quantity{display:none}
.woocommerce div.product .single_add_to_cart_button,
.woocommerce div.product form.cart button.button{
  width:100%!important;display:block!important;text-align:center;
  background:var(--icp)!important;color:#fff!important;
  font-family:'Nunito',sans-serif!important;font-size:16px!important;font-weight:800!important;
  letter-spacing:.03em;text-transform:none!important;
  padding:17px 24px!important;border-radius:10px!important;border:none!important;
  box-shadow:0 6px 18px rgba(224,1,137,.28);
  transition:background .18s,transform .15s,box-shadow .18s;
}
.woocommerce div.product .single_add_to_cart_button:hover{
  background:var(--icp-dark)!important;transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(224,1,137,.34);
}

/* Express wallet buttons crowd the one clear action; keep them for checkout */
body.ic-shop-page .wc-stripe-express-checkout-element,
body.ic-shop-page #wc-stripe-express-checkout-element,
body.ic-shop-page wc-order-attribution-inputs,
body.ic-shop-page .wc-stripe-payment-request-wrapper,
body.ic-shop-page #wc-stripe-payment-request-wrapper,
body.ic-shop-page .ppc-button-wrapper,
body.ic-shop-page #ppc-button-ppcp-gateway,
body.ic-shop-page .ppcp-messages{display:none!important}

.ic-testi{
  background:var(--icp-bg);border:1px solid var(--icb2);border-radius:12px;
  padding:14px 16px;margin:0 0 14px;
}
.ic-testi-stars{color:#ffb400;font-size:13px;letter-spacing:2px;display:block;margin-bottom:5px}
.ic-testi-text{margin:0 0 6px;font-size:13.5px;line-height:1.6;color:var(--ict2);font-style:italic}
.ic-testi-who{margin:0;font-size:11.5px;font-weight:800;color:var(--icp);text-transform:uppercase;letter-spacing:.05em}

.ic-pay{text-align:center;margin:0}
.ic-pay-note{margin:0 0 8px;font-size:12.5px;color:var(--icm)}
.ic-pay-icons{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center}
.ic-pay-icons img{height:24px;width:auto;max-width:52px;opacity:.9}

/* ---------------- landing section rhythm ---------------- */
/* The 34px top margin here collapsed out of the whole content column and
   sat above the header gap instead of below the product summary. Padding
   keeps exactly the same breathing room without escaping. */
.ic-landing{max-width:1000px;margin:0 auto;padding-top:18px}
.ic-landing .elementor-heading-title em{font-style:italic;color:var(--icp)}
.ic-landing .elementor-widget-heading{margin-bottom:0}

@media (max-width:768px){
  .ic-landing{margin-top:10px}
  .ic-p-title{font-size:20px}
}

/* ---------------- display face ---------------- */
/* Elementor's own font control was losing to the theme's global typography,
   so the section headings rendered in the body font. Section headings are
   h2/h3; the small uppercase eyebrows are divs and stay in Nunito. */
.ic-landing h2.elementor-heading-title,
.ic-landing h3.elementor-heading-title{font-family:'Concert One',cursive!important;font-weight:400!important;letter-spacing:.3px}
.ic-landing h2.elementor-heading-title em,
.ic-landing h3.elementor-heading-title em{font-family:'Concert One',cursive!important}

/* hide breadcrumb on the sales page */
body.ic-shop-page .woocommerce-breadcrumb,
body.ic-shop-page .ast-breadcrumbs-wrapper{display:none!important}

/* ---- rating row is a shortcut to the reviews wall ---- */
.ic-rating-link{display:inline-flex;align-items:center;gap:9px;text-decoration:none;color:inherit;cursor:pointer;border-bottom:1px solid transparent;transition:border-color .15s,transform .15s}
.ic-rating-link:hover{border-bottom-color:var(--icp);transform:translateY(-1px)}
.ic-rating-link:hover .ic-rating-txt{color:var(--icp)}
.ic-rating-link:focus-visible{outline:2px solid var(--icp);outline-offset:3px;border-radius:4px}

/* ---- payment reassurance under the buy button ---- */
.ic-pay{text-align:center;margin:16px 0 0;padding:15px 14px;background:var(--icp-bg);border:1px solid var(--icb2);border-radius:14px}
.ic-pay-note{margin:0 0 11px;font-size:13px;font-weight:600;color:var(--ict2);display:flex;align-items:center;justify-content:center;gap:7px;line-height:1.35}
.ic-pay-lock{color:var(--icp);flex:0 0 auto}
.ic-pay-icons{list-style:none;display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center;margin:0;padding:0}
.ic-pay-mark{display:flex;align-items:center;justify-content:center;width:52px;height:34px;background:#fff;border:1px solid #f0dde6;border-radius:8px;box-shadow:0 1px 3px rgba(0,0,0,.05);transition:transform .15s,box-shadow .15s}
.ic-pay-mark:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(224,1,137,.14)}
.ic-pay-mark img{height:22px;width:auto;max-width:38px;display:block;opacity:1}
.ic-pay-secure{margin:11px 0 0;font-size:11.5px;color:var(--icm);letter-spacing:.01em}
@media (max-width:600px){
  .ic-pay{padding:13px 10px;border-radius:12px}
  .ic-pay-note{font-size:12.5px}
  .ic-pay-icons{gap:6px}
  .ic-pay-mark{width:46px;height:30px;border-radius:7px}
  .ic-pay-mark img{height:19px;max-width:34px}
}

/* ic-cta-centre: the buy button was pulled 16px left of its column, which
   read as off-centre and nearly touched the screen edge on a phone. Sit it
   squarely inside the column instead. Size, colour and type are unchanged. */
@media (max-width: 921px) {
	.woocommerce div.product form.cart button.single_add_to_cart_button,
	.woocommerce div.product form.cart .single_add_to_cart_button {
		display: block;
		width: 100%;
		max-width: 100%;
		margin-left: auto !important;
		margin-right: auto !important;
		float: none;
	}
}

/* ic-header-gap: the sales page starts right under the header, not a
   screenful below it. Astra's default is 60px. */
/* Astra sets this from an inline rule with two classes plus the id, and only
   above 1200px -- below that it is already zero -- so the override has to
   match that weight and that breakpoint. */
@media (min-width:1200px){
	body.single-product.ast-plain-container.ast-no-sidebar #primary{margin-top:28px}
}
/* Below 1200px Astra zeroes this margin, and the 34px that used to leak out
   of .ic-landing was filling the space by accident. Now that the leak is
   fixed, give the phone and tablet an intentional gap of their own. */
@media (max-width:1199px){
	body.single-product.ast-plain-container.ast-no-sidebar #primary{margin-top:24px}
}
