/* Greedy Pigs Neon v1.11.6i — Neon add-row pulse + themed selects */
:root{
	--gp-neon:#ff97cd;
	--gp-neon-soft:rgba(255,151,205,.35);
	--gp-glass:rgba(255,255,255,.04);
	--gp-stroke:rgba(255,151,205,.25);
	--gp-black:#0b0d12;
}

.neon-shell{padding:0 0 24px;}
.glass{
	background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.02));
	border:1px solid var(--gp-stroke);
	border-radius:18px;
	box-shadow:0 0 24px rgba(255,151,205,.08), inset 0 0 0 1px rgba(255,255,255,.02);
	padding:20px;
}

.gp-sp-title.neon-title{color:#fff;text-shadow:0 0 12px var(--gp-neon-soft), 0 0 30px var(--gp-neon);}
.gp-sp-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:18px 0 12px;}
.gp-sp-price{font-size:1.25rem;line-height:1;}
.gp-sp-short{color:#ddd;font-size:1.05rem;margin:12px 0 18px;}

/* Neon price everywhere */
.price, .woocommerce-Price-amount, .cart_totals .order-total .amount,
.woocommerce-mini-cart__total .amount, .checkout .order-total .amount,
.single-product .summary .price, .gp-sp-price .price{
	color:var(--gp-neon) !important;
	text-shadow:0 0 10px var(--gp-neon-soft);
	font-weight:700;
}

/* Themed selects (site-wide) */
select,
.wapf-field select,
.woocommerce div.product form.cart .variations select,
.woocommerce form .form-row select,
.woocommerce-checkout .select2-container .select2-selection--single{
	background:#0f1016 !important;
	color:#ffffff !important;
	font-weight:700 !important;
	border:1px solid rgba(255,151,205,.38) !important;
	border-radius:14px !important;
	padding:12px 44px 12px 14px !important;
	box-shadow:0 0 0 1px rgba(255,151,205,.18), 0 0 22px rgba(255,151,205,.12) inset;
	appearance:none;-webkit-appearance:none;-moz-appearance:none;
}
select:focus,
.wapf-field select:focus,
.woocommerce form .form-row select:focus{
	outline:none;
	border-color:var(--gp-neon) !important;
	box-shadow:0 0 0 2px rgba(255,151,205,.5), 0 0 24px rgba(255,151,205,.35) inset;
}
select{
	background-image:
		linear-gradient(45deg, transparent 50%, #ffb2da 50%),
		linear-gradient(135deg, #ffb2da 50%, transparent 50%),
		linear-gradient(to right, rgba(255,151,205,.15), rgba(255,151,205,0));
	background-position:
		calc(100% - 26px) calc(50% - 3px),
		calc(100% - 18px) calc(50% - 3px),
		0 0;
	background-size:8px 8px,8px 8px,100% 100%;
	background-repeat:no-repeat;
}

/* Select2 */
.select2-container .select2-selection--single{
	background:#0f1016 !important;
	border:1px solid rgba(255,151,205,.38) !important;
	border-radius:14px !important;
	min-height:44px;
}
.select2-container .select2-selection__rendered{
	color:#ffffff !important;
	font-weight:700 !important;
	line-height:44px !important;
	padding-left:14px !important;
}
.select2-container .select2-selection__arrow b{border-color:var(--gp-neon) transparent transparent transparent !important;}
.select2-dropdown{
	background:#0f1016 !important;
	border:1px solid rgba(255,151,205,.38) !important;
	box-shadow:0 12px 30px rgba(0,0,0,.45);
}
.select2-results__option{color:#ffffff !important;}
.select2-results__option--highlighted{background:#20111b !important;color:#ffdaf1 !important;}

/* Hide breadcrumbs globally in Woo contexts */
.woocommerce-breadcrumb{display:none !important;}

/* ================= Qty | Add Row (pulsing border button) ================= */
.single-product form.cart{
	display:flex;
	align-items:stretch;
	gap:12px;
	margin-top:18px;
}
.single-product form.cart .quantity{
	flex:0 0 120px;
	display:flex;align-items:center;justify-content:center;
	background:rgba(255,255,255,.04);
	border:1px solid rgba(255,151,205,.35);
	border-radius:12px;
	box-shadow:inset 0 0 10px rgba(255,151,205,.12);
}
.single-product form.cart .quantity input.qty{
	width:64px; text-align:center;
	background:transparent; border:none; color:#fff;
	font-weight:700; font-size:1.1rem; outline:none;
}

/* Inverted black button with pink border and pulsing glow */
@keyframes gpNeonPulse {
	0%   { box-shadow: 0 0 0 0 rgba(255,151,205,.50), inset 0 0 0 1px rgba(255,151,205,.35); }
	50%  { box-shadow: 0 0 16px 6px rgba(255,151,205,.35), inset 0 0 0 1px rgba(255,151,205,.45); }
	100% { box-shadow: 0 0 0 0 rgba(255,151,205,.50), inset 0 0 0 1px rgba(255,151,205,.35); }
}
.single-product form.cart .single_add_to_cart_button{
	flex:1;
	background:#0b0d12; color:var(--gp-neon);
	border:2px solid var(--gp-neon);
	border-radius:12px;
	font-weight:900; font-size:1.05rem; letter-spacing:.5px;
	text-transform:uppercase;
	animation: gpNeonPulse 2.8s ease-in-out infinite;
	transition: transform .2s ease;
}
.single-product form.cart .single_add_to_cart_button:hover{
	transform: translateY(-1px);
}

/* Defensive: avoid double APF blocks */
.single-product .gp-sp-form .wapf-wrapper + .wapf-wrapper{display:none !important;}


/* v1.11.6j — Centered qty dropdown + pulsing glow */
.single-product form.cart{
  justify-content:center; /* center the row */
}

.single-product form.cart .gp-qty-select{
  flex:0 0 160px;
  background:#0b0d12;
  color:var(--gp-neon);
  border:2px solid var(--gp-neon);
  border-radius:12px;
  height:48px;
  padding:0 14px;
  font-weight:900;
  font-size:1.05rem;
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  animation: gpNeonPulse 2.8s ease-in-out infinite;
  box-shadow:none;
}

/* Make Add to Cart button match height */
.single-product form.cart .single_add_to_cart_button{
  height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
}

/* Hide original qty input when JS hasn't run yet (progressive enhancement fallback still shows controls) */
.single-product form.cart .quantity input.qty.gp-hidden{ display:none !important; }


/* v1.11.6k — Qty left of Add button, both pulsing and centered */
.single-product form.cart {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:12px;
}

.single-product form.cart .gp-qty-select {
  flex:0 0 120px;
  background:#0b0d12;
  color:var(--gp-neon);
  border:2px solid var(--gp-neon);
  border-radius:12px;
  height:48px;
  padding:0 14px;
  font-weight:900;
  font-size:1rem;
  animation: gpNeonPulse 2.8s ease-in-out infinite;
  text-align:center;
}

.single-product form.cart .single_add_to_cart_button {
  height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#000;
  color:var(--gp-neon);
  border:2px solid var(--gp-neon);
  border-radius:12px;
  font-weight:900;
  font-size:1rem;
  text-transform:uppercase;
  animation: gpNeonPulse 2.8s ease-in-out infinite;
  box-shadow:0 0 15px var(--gp-neon);
}

.single-product form.cart .quantity input.qty { display:none !important; }


/* Greedy Pigs Neon – APF text field theming */
.single-product .wapf-field-input input[type="text"],
.single-product .wapf-field-input textarea {
    width: 100%;
    background: #0f1016;
    border: 1px solid rgba(255,151,205,.38);
    border-radius: 14px;
    padding: 10px 14px;
    color: #ffffff;
    box-shadow: 0 0 0 1px rgba(255,151,205,.18),
                0 0 22px rgba(255,151,205,.12) inset;
    outline: none;
}

/* Focus state – same glow as your selects */
.single-product .wapf-field-input input[type="text"]:focus,
.single-product .wapf-field-input textarea:focus {
    border-color: var(--gp-neon);
    box-shadow: 0 0 0 2px rgba(255,151,205,.5),
                0 0 24px rgba(255,151,205,.35) inset;
}

/* Placeholder colour to match theme */
.single-product .wapf-field-input input[type="text"]::placeholder,
.single-product .wapf-field-input textarea::placeholder {
    color: rgba(255,151,205,.75);
}

/* GP: If a product has no featured/gallery images, hide the gallery container entirely */
.gp-no-images .gp-sp-gallery{display:none !important;}

/*
  Single product gallery sizing
  The base theme includes a global rule that constrains the Woo gallery to 55% width.
  Inside our card-style layout (.gp-sp-gallery) we want the image to fill the card.
*/
body.single-product .gp-sp-gallery .woocommerce-product-gallery{
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    float: none !important;
}

body.single-product .gp-sp-gallery .woocommerce-product-gallery__wrapper,
body.single-product .gp-sp-gallery .woocommerce-product-gallery__image{
    width: 100% !important;
    max-width: 100% !important;
}

/*
  Some Woo builds output the wrapper as a flex row with children sized to their intrinsic width.
  Force a block flow so the image can actually fill the full neon image box.
*/
body.single-product .gp-sp-gallery .woocommerce-product-gallery__wrapper{
    display:block !important;
}

body.single-product .gp-sp-gallery .woocommerce-product-gallery__image{
    float:none !important;
    display:block !important;
    flex: 0 0 100% !important;
    margin: 0 !important;
    /* Give the image area a consistent, larger presence */
    aspect-ratio: 16 / 9;
    overflow: hidden;
    border-radius: 16px;
}

body.single-product .gp-sp-gallery .woocommerce-product-gallery__image a{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
}

body.single-product .gp-sp-gallery .woocommerce-product-gallery__image img{
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    display: block !important;
    object-fit: cover;
    border-radius: 16px;
}

/*
  Mobile: the theme uses a separate mobile single-product template.
  Force the Woo gallery elements to fill the neon image box so the photo isn't tiny/centered.
*/
@media (max-width: 860px){
  body.single-product .gp-sp-gallery{height:260px;}
  body.single-product .gp-sp-gallery .woocommerce-product-gallery{display:block !important; height:100% !important;}
  body.single-product .gp-sp-gallery .woocommerce-product-gallery__wrapper{height:100% !important;}
  body.single-product .gp-sp-gallery .woocommerce-product-gallery__image{
    height:100% !important;
    aspect-ratio: auto !important;
  }
  body.single-product .gp-sp-gallery .woocommerce-product-gallery__image a,
  body.single-product .gp-sp-gallery .woocommerce-product-gallery__image img{height:100% !important;}
}

/* Make sure no default placeholder box shows for products without thumbnails */
body.woocommerce ul.products li.product .woocommerce-placeholder{display:none !important;}
.gp-no-images .gp-sp-content{
	flex: 1 1 100% !important;
	width:100% !important;
	max-width:100% !important;
	box-sizing:border-box !important;
}
.gp-no-images .gp-sp-desktop{display:block !important;}

/* Mobile single product gallery: force image to fill the glass box (override theme-wide gallery img rules) */
@media (max-width: 899px){
  body.single-product .gp-sp-gallery .woocommerce-product-gallery__image img,
  body.single-product .gp-sp-gallery .woocommerce-product-gallery__image a img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    display:block !important;
  }
}


/* Meal Deal button (Greedy Meal Deal plugin) */
.gmd-trigger{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 16px 26px;
  border-radius: 16px;
  border: 0;
  background: linear-gradient(180deg, #ffb6dd 0%, #ff97cd 100%);
  color: #111;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  box-shadow: 0 10px 26px rgba(255, 151, 205, 0.35);
  transition: transform .12s ease, box-shadow .12s ease, filter .12s ease;
  margin: 0;
}
.gmd-trigger:hover{
  transform: translateY(-1px);
  box-shadow: 0 14px 32px rgba(255, 151, 205, 0.42);
  filter: brightness(1.02);
}

/* Desktop single product gallery: force image to fill glass box (Woo inline max-width can otherwise shrink it) */
@media (min-width: 861px){
  .gp-sp-gallery_glass .woocommerce-product-gallery,
  .gp-sp-gallery_glass .woocommerce-product-gallery__wrapper,
  .gp-sp-gallery_glass .woocommerce-product-gallery__image,
  .gp-sp-gallery_glass .woocommerce-product-gallery__image > a{
    height: 100% !important;
  }
  .gp-sp-gallery_glass .woocommerce-product-gallery__image{
    width: 100% !important;
    margin: 0 !important;
  }
  .gp-sp-gallery_glass .woocommerce-product-gallery img{
    max-width: none !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }
}


/* Desktop single product gallery: force image to fill glass box (theme uses .gp-sp-gallery.glass) */
@media (min-width: 861px){
  .gp-sp-gallery.glass .woocommerce-product-gallery,
  .gp-sp-gallery.glass .woocommerce-product-gallery__wrapper,
  .gp-sp-gallery.glass .woocommerce-product-gallery__image,
  .gp-sp-gallery.glass .woocommerce-product-gallery__image > a{
    height: 100% !important;
  }
  .gp-sp-gallery.glass .woocommerce-product-gallery__wrapper{
    margin: 0 !important;
    padding: 0 !important;
  }
  .gp-sp-gallery.glass .woocommerce-product-gallery__image{
    width: 100% !important;
    margin: 0 !important;
  }
  .gp-sp-gallery.glass .woocommerce-product-gallery__image > a{
    display:block !important;
    width:100% !important;
    height:100% !important;
  }
  .gp-sp-gallery.glass .woocommerce-product-gallery img{
    max-width: none !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
  }
}

/* Meal Deal button (Greedy Meal Deal plugin) - desktop placement & styling */
@media (min-width: 861px){
  .gmd-wrap{
    margin: 14px 0 10px !important;
  }
  .gmd-wrap .gmd-trigger{
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 16px 26px !important;
    border-radius: 16px !important;
    border: 0 !important;
    background: linear-gradient(180deg, #ffb6dd 0%, #ff97cd 100%) !important;
    color: #111 !important;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    box-shadow: 0 10px 26px rgba(255, 151, 205, 0.35) !important;
  }
  .gmd-wrap .gmd-trigger:hover{
    filter: brightness(1.02);
  }
}
