/* =========================
   RESET / BASE
========================= */
body {
  margin: 0;
  font-family: "Segoe UI", Arial, sans-serif;
  color: #222;
}

a {
  color: #222;
  text-decoration: none;
}

a:hover {
  color: #c62828;
}

/* =========================
   HEADER
========================= */
#navMainWrapper a {
  font-size: 16px;
  font-weight: 600;
}

/* =========================
   GLOBAL LAYOUT
========================= */
#navColumnOne,
.columnLeft,
.leftBoxContainer {
  display: none !important;
  width: 0 !important;
  max-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

.centerColumn,
#centerColumn {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  float: none !important;
}

.column-center {
  width: 100%;
}

#main-content-wrapper .row {
  margin-left: 0;
  margin-right: 0;
}

/* =========================
   GRID FIX
========================= */
.z-listing-grid-layout {
  padding-left: 10px !important;
  padding-right: 10px !important;
}

.z-listing-grid-layout .row {
  margin-left: -10px !important;
  margin-right: -10px !important;
}

.z-listing-grid-layout [class*="col-"] {
  padding-left: 10px !important;
  padding-right: 10px !important;
}

/* =========================
   PRODUCT CARD / CATEGORY LISTING
========================= */
.z-product-container {
  background: #fff;
  border: 1px solid #eee;
  border-radius: 10px;
  padding: 15px;
  text-align: center;
  transition: 0.2s;
}

.z-product-container:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
}

.z-product-img {
  height: 220px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.z-cat-product-image {
  max-width: 100%;
  max-height: 200px;
  object-fit: contain;
}

.z-card-title {
  margin-top: 10px;
  min-height: 40px;
  font-size: 15px;
  font-weight: 600;
}

.z-card-price {
  margin-top: 5px;
  font-size: 18px;
  font-weight: 700;
  color: #e60023;
}

/* =========================
   FOOTER
========================= */

.z-footer {
  margin-top: 20px;
  padding: 20px 0 5px !important;
  background: linear-gradient(to bottom, #fafafa, #f4f4f4);
  border-top: 1px solid #ececec;
}

.z-footer-wrap {
  max-width: 1200px;
  margin: 0 auto;
}

.z-footer-main {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

.z-footer-title {
  margin-bottom: 10px;
  font-size: 17px;
  font-weight: 700;
  color: #222;
  letter-spacing: .3px;
}

.z-footer p,
.z-footer address,
.z-footer a {
  font-size: 14px;
  line-height: 1.5;
  color: #444;
}

.z-footer-links a {
  display: block;
  margin-bottom: 3px;
}

.z-footer-social a {
  width: 34px;
  height: 34px;
  margin-right: 8px;
  font-size: 16px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  border-radius: 50%;
  background: #fff;

  box-shadow: 0 2px 8px rgba(0,0,0,.08);
}

.payment-icons {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.payment-icons img {
  width: 38px;
  height: 24px;
  object-fit: contain;
}

.z-footer-bottom {
  margin-top: 0 !important;
  padding-top: 4px !important;
  border-top: none !important;
}

.z-footer-copy {
  text-align: center;
  font-size: 13px;
  margin: 0 !important;
}

@media (max-width: 767px) {

  .z-footer {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .z-footer-main > div {
    margin-bottom: 12px !important;
  }

}

/* =========================
   ADVANCED SEARCH PAGE
========================= */
#advancedSearchDefault {
  max-width: 1200px;
  margin: 40px auto 60px;
  padding: 0 20px;
}

#advancedSearchDefault h1,
#advancedSearchDefault h2 {
  margin-bottom: 18px;
  text-align: left;
}

#advancedSearchDefault input[type="text"],
#advancedSearchDefault input[type="search"],
#advancedSearchDefault select {
  width: 100%;
  height: 46px;
  padding: 10px 14px;
  font-size: 15px;
  border: 1px solid #d9d9d9;
  border-radius: 8px;
  background: #fff;
  box-sizing: border-box;
}

#advancedSearchDefault input[type="text"]:focus,
#advancedSearchDefault input[type="search"]:focus,
#advancedSearchDefault select:focus {
  outline: none;
  border-color: #999;
}

#advancedSearchDefault input[type="checkbox"] {
  margin-right: 6px;
}

#advancedSearchDefault td,
#advancedSearchDefault .forward,
#advancedSearchDefault .back,
#advancedSearchDefault .smallText,
#advancedSearchDefault .helpButton {
  font-size: 15px;
}

#advancedSearchDefault .buttonRow,
#advancedSearchDefault .forward,
#advancedSearchDefault .back {
  margin-top: 15px;
}

#advancedSearchDefault a.cssButton,
#advancedSearchDefault input[type="submit"],
#advancedSearchDefault button {
  display: inline-block;
  min-width: 110px;
  height: 42px;
  line-height: 42px;
  padding: 0 18px;
  border: none;
  border-radius: 8px;
  background: #f4c400;
  color: #222;
  font-weight: 600;
  text-align: center;
  cursor: pointer;
}

#advancedSearchDefault a.cssButton:hover,
#advancedSearchDefault input[type="submit"]:hover,
#advancedSearchDefault button:hover {
  background: #e0b200;
  color: #222;
}

#advancedSearchDefault table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 14px;
}

#advancedSearchDefault td {
  vertical-align: top;
  padding-right: 20px;
}

/* =========================
   HEADER SEARCH BOX
========================= */
#navMainSearch {
  position: relative;
}

#navMainSearch input[type="text"] {
  width: 220px;
  height: 36px;
  padding: 6px 40px 6px 12px;
  border: 1px solid #ddd;
  border-radius: 20px;
  font-size: 14px;
  outline: none;
  transition: 0.2s;
}

#navMainSearch input[type="text"]:focus {
  border-color: #007bff;
  box-shadow: 0 0 4px rgba(0, 123, 255, 0.2);
}

#navMainSearch button,
#navMainSearch .searchButton {
  position: absolute;
  top: 50%;
  right: 10px;
  border: none;
  background: none;
  cursor: pointer;
  transform: translateY(-50%);
}

#navMainSearch button i {
  font-size: 16px;
  color: #666;
}

/* =========================
   PRODUCT PAGE
========================= */
#productinfoBody .column-center {
  max-width: 1300px;
  margin: 0 auto;
}

#productGeneral .z-product-details-outer {
  padding-left: 0;
  padding-right: 0;
}

#productGeneral .z-product-img-outer {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

#productGeneral .z-product-main-image-box {
  width: 100%;
  min-height: 420px;
  display: flex;
  align-items: center;
  justify-content: center;
}

#productGeneral img.z-product-main-image,
#productGeneral .z-product-main-image-box img {
  width: 100%;
  max-width: 540px;
  max-height: 560px;
  height: auto;
  object-fit: contain;
}

#productGeneral .swiper-slide {
  display: flex;
  align-items: center;
  justify-content: center;
}

#productGeneral .z-swiper-product-thumbnails img {
  width: 70px;
  height: 70px;
  object-fit: contain;
}

#productGeneral .z-product-information {
  padding-left: 20px;
}

#productGeneral .z-product-information > .row {
  align-items: flex-start;
}

#productGeneral .z-cart-outer {
  padding-left: 20px;
}

#productGeneral .z-cart-outer img {
  max-width: 100%;
  height: auto;
}

#productGeneral .z-cart-outer .form-control,
#productGeneral .z-cart-outer .input-group,
#productGeneral .z-cart-outer select,
#productGeneral .z-cart-outer input[type="text"],
#productGeneral .z-cart-outer input[type="number"] {
  width: 100%;
}

#productGeneral .z-cart-button button {
  height: 48px;
  font-size: 16px;
}

#productGeneral .z-product-price {
  color: #e60023;
}

/* =========================
   MOBILE
========================= */
@media only screen and (max-width: 768px) {
  .centerColumn,
  #centerColumn {
    width: 100% !important;
    margin-left: 0 !important;
  }

  .z-product-img {
    height: 180px;
  }

  .z-card-title {
    font-size: 14px;
  }

  .payment-icons {
    justify-content: center;
  }

  .z-footer {
    text-align: left;
  }

  #advancedSearchDefault {
    margin: 25px auto 40px;
    padding: 0 15px;
  }

  #navMainSearch input[type="text"] {
    width: 180px;
  }

  #productGeneral .z-product-main-image-box {
    min-height: 300px;
  }

  #productGeneral .z-product-main-image,
  #productGeneral .z-product-main-image-box img {
    max-width: 100%;
    max-height: 420px;
  }

  #productGeneral .z-product-information,
  #productGeneral .z-cart-outer {
    padding-left: 0;
  }
}
/* ===== PRODUCT ATTRIBUTE / OPTION BOX CLEANUP ===== */
#productGeneral .z-cart-outer {
  font-size: 15px;
}

#productGeneral .z-cart-outer img {
  max-width: 110px;
  height: auto;
  display: inline-block;
  vertical-align: middle;
}

#productGeneral .z-cart-outer label {
  display: inline-block;
  vertical-align: middle;
  line-height: 1.5;
  margin-bottom: 8px;
}

#productGeneral .z-cart-outer input[type="radio"] {
  vertical-align: middle;
  margin-right: 6px;
}

#productGeneral .z-cart-outer .attributesWrapper,
#productGeneral .z-cart-outer .wrapperAttribsOptions,
#productGeneral .z-cart-outer .wrapperAttribsOptions ul,
#productGeneral .z-cart-outer .wrapperAttribsOptions li {
  width: 100%;
}

#productGeneral .z-cart-outer .wrapperAttribsOptions li {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}

#productGeneral .z-cart-outer .wrapperAttribsOptions li img {
  flex: 0 0 auto;
}

#productGeneral .z-cart-outer .wrapperAttribsOptions li label {
  flex: 1 1 220px;
}

#productGeneral .z-cart-outer .input-group {
  margin-top: 10px;
}

#productGeneral .z-cart-outer .input-group-text {
  min-width: 48px;
  justify-content: center;
}
/* ===== PRODUCT ATTRIBUTES CLEANUP ===== */
#z-product-attributes {
  font-size: 15px;
}

#z-product-attributes .z-product-attribute-title {
  color: #222;
}

#z-product-attributes .z-product-attr-block {
  border-bottom: 1px solid #eee;
  padding-bottom: 12px;
}

#z-product-attributes .z-product-attr-label {
  font-size: 16px;
  line-height: 1.4;
}

#z-product-attributes .z-product-attr-menu {
  width: 100%;
}

#z-product-attributes .z-product-attr-menu select,
#z-product-attributes .z-product-attr-menu input[type="text"],
#z-product-attributes .z-product-attr-menu input[type="number"] {
  width: 100%;
}

#z-product-attributes .z-product-attr-menu ul,
#z-product-attributes .z-product-attr-menu li {
  list-style: none;
  margin: 0;
  padding: 0;
}

#z-product-attributes .z-product-attr-menu li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}

#z-product-attributes .z-product-attr-menu input[type="radio"],
#z-product-attributes .z-product-attr-menu input[type="checkbox"] {
  margin-top: 6px;
  margin-right: 2px;
  flex: 0 0 auto;
}

#z-product-attributes .z-product-attr-menu label {
  display: inline-block;
  line-height: 1.5;
  margin-bottom: 0;
  flex: 1 1 220px;
}

#z-product-attributes .z-product-attr-menu img,
#z-product-attributes .z-attr-image-outer img {
  max-width: 95px;
  height: auto;
  object-fit: contain;
  display: inline-block;
}

#z-product-attributes .ProductInfoComments {
  font-size: 14px;
  color: #666;
}

#z-product-attributes .wrapperAttribsOneTime,
#z-product-attributes .wrapperAttribsQtyPrices {
  font-size: 14px;
  margin-top: 10px;
}
/* ===== LOGIN PAGE MOBILE FIX ===== */
@media only screen and (max-width: 768px) {
  #loginDefault .row > div {
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
  }

  #loginDefault .btn {
    width: 100%;
    margin-bottom: 10px;
  }

  #loginDefault .d-flex {
    flex-direction: column;
    align-items: stretch !important;
  }

  #loginDefault input.form-control {
    width: 100%;
  }
}

/* ===== FOOTER PAYMENT BANNER ===== */

.z-footer-trust{
  width:100%;
  padding:6px 0 2px !important;
  margin-top:4px !important;
  margin-bottom:0 !important;
  text-align:center;
  overflow:hidden;
}

.z-footer-payment-banner{
  width:100%;
  max-width:520px;
  height:auto;
  display:block;
  margin:0 auto;
}

@media (max-width:767px){

  .z-footer-trust{
    padding:4px 0 0 !important;
    margin-top:0 !important;
  }

  .z-footer-payment-banner{
    max-width:95% !important;
  }

}

/* ===== FORCE FOOTER MOBILE FIX ===== */

@media (max-width: 767px) {

  .z-footer,
  .z-footer-wrap,
  .z-footer-main,
  .z-footer-bottom,
  .z-footer-trust {
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  .z-footer-trust {
    text-align: center !important;
    padding: 8px 0 !important;
  }

  .z-footer-payment-banner {
    width: 85% !important;
    max-width: 320px !important;
    height: auto !important;
    margin: 0 auto !important;
    display: block !important;
  }

}

/* ===== POPULAR BALLOON GIFTS HOMEPAGE ===== */

.z-popular-balloon-gifts {
  max-width: 1320px;
  margin: 10px auto 30px;
  padding: 0 14px;
  text-align: center;
}

.z-popular-title {
  margin: 0 0 8px;
  font-size: 30px;
  font-weight: 700;
  color: #0aa0b8;
  text-transform: uppercase;
  letter-spacing: .4px;
}

.z-popular-subtitle {
  margin: 0 0 24px;
  font-size: 15px;
  color: #555;
}

.z-popular-balloon-gifts .swiper-container,
.z-popular-balloon-gifts .swiper {
  padding: 10px 0 20px;
}

.z-popular-balloon-gifts .swiper-slide {
  height: auto;
}

.z-popular-balloon-gifts .z-product-container {
  height: 100%;
  border-radius: 16px;
  border: 1px solid #eee;
  box-shadow: 0 4px 14px rgba(0,0,0,.06);
}

.z-popular-balloon-gifts .z-product-img {
  height: 180px;
}

.z-popular-balloon-gifts .z-cat-product-image {
  max-height: 170px;
}

.z-popular-balloon-gifts .z-card-title {
  min-height: 44px;
  font-size: 15px;
  line-height: 1.35;
}

.z-popular-balloon-gifts .z-card-price {
  font-size: 20px;
  color: #e60023;
}

@media (max-width: 767px) {

  .z-popular-balloon-gifts {
    margin-top: 4px;
    padding: 0 10px;
  }

  .z-popular-title {
    font-size: 22px;
  }

  .z-popular-subtitle {
    font-size: 13px;
    margin-bottom: 14px;
  }

  .z-popular-balloon-gifts .z-product-img {
    height: 135px;
  }

  .z-popular-balloon-gifts .z-cat-product-image {
    max-height: 125px;
  }

  .z-popular-balloon-gifts .z-card-title {
    font-size: 13px;
    min-height: 38px;
  }

  .z-popular-balloon-gifts .z-card-price {
    font-size: 17px;
  }

}

/* ===== HOMEPAGE PRODUCT SWIPER FIX ===== */

.z-product-slide-outer {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

.z-swiper-products-inner {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

.z-swiper-products-inner .swiper-wrapper {
  align-items: stretch;
}

.z-swiper-products-inner .swiper-slide {
  box-sizing: border-box !important;
}

@media (max-width: 767px) {
  .z-swiper-products-inner .swiper-slide {
    width: auto !important;
  }

  .z-product-slide-outer {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* ===== PARTY JOY MOBILE WIDTH FIX ===== */

html,
body,
#mainWrapper,
.header,
.z-homepage,
#centerColumn,
.centerColumn {
  max-width: 100% !important;
  overflow-x: hidden !important;
}

@media (max-width: 767px) {

  .z-nav-container,
  .z-nav-container .row,
  .z-nav-container [class*="col-"],
  .z-nav,
  .z-nav ul,
  .z-nav li {
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }

  .z-nav {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
  }

  .z-nav li {
    display: block !important;
    width: auto !important;
    max-width: 100% !important;
  }

}

/* =========================================================
   PARTY JOY HOMEPAGE FINAL CLEAN BLOCK
   ========================================================= */

/* HERO SLIDER */

.z-home-hero-slider {
  width: 100%;
  max-width: 1600px;
  margin: 0 auto 25px;
  overflow: hidden;
  position: relative;
  line-height: 0;
}

/* SLIDES */

.z-hero-slide {
  display: none;
  width: 100%;
}

.z-hero-slide.active {
  display: block;
}

/* IMAGES */

.z-hero-slide img {
  width: 100%;
  height: auto;
  display: block;
  max-width: 100%;
}

/* HERO TITLE */

.z-home-title {
  font-size: 56px;
  line-height: 1.1;
  font-weight: 700;
}

/* MOBILE */

@media (max-width: 767px) {

  .z-home-hero-slider {
    margin-bottom: 15px;
  }
  


}

/* HOMEPAGE INTRO */

.z-homepage .text-center {
  padding-top: 28px;
  padding-bottom: 18px;
}

.z-homepage h1 + p {
  max-width: 820px;
  margin: 0 auto 18px;

  font-size: 18px;
  line-height: 1.5;

  color: #222;
}

/* SECTION TITLES */

.z-homepage h2,
.z-popular-title,
.z-section-title {

  margin-top: 0;
  margin-bottom: 22px;

  font-size: 42px;
  line-height: 1.1;
  font-weight: 700;

  color: #222;
  letter-spacing: -1px;

  text-transform: uppercase;
  text-align: center;
}

@media (max-width: 767px) {

  .z-homepage h2,
  .z-popular-title,
  .z-section-title {

    font-size: 26px;
    line-height: 1.15;
    margin-bottom: 18px;
    padding: 0 12px;
  }

}

/* ===== PARTY JOY CATEGORY IMAGE SIZE FIX ===== */

.z-pj-cat-img {
  width: 100% !important;
  height: 220px !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center center !important;
  display: block !important;
}

/* Tablet */
@media (max-width: 991px) {
  .z-pj-cat-img {
    height: 200px !important;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .z-pj-cat-img {
    height: 150px !important;
  }
}

/* TEST */

.z-pj-cat-card {
  height: 220px !important;
}

.z-pj-cat-img {
  height: 220px !important;
  aspect-ratio: unset !important;
}

/* =========================================================
   WHATSAPP SHAKE + GLOW EFFECT
   ========================================================= */

@keyframes zWaShake {

  0%,94%,100%{
    transform:rotate(0deg);
  }

  95%{
    transform:rotate(-12deg);
  }

  96%{
    transform:rotate(12deg);
  }

  97%{
    transform:rotate(-12deg);
  }

  98%{
    transform:rotate(12deg);
  }

  99%{
    transform:rotate(0deg);
  }

}

@keyframes zWaGlow {

  0%,100%{
    filter:
      drop-shadow(0 0 0 rgba(66,220,255,0));
  }

  50%{
    filter:
      drop-shadow(0 0 8px rgba(66,220,255,.8))
      drop-shadow(0 0 18px rgba(66,220,255,.5));
  }

}

img[src*="WhatsApp_icon-2.png"]{
  animation:
    zWaShake 15s infinite,
    zWaGlow 3s ease-in-out infinite !important;

  transform-origin:center center !important;
}

/* ===== MOBILE FOOTER FINAL TIGHTENING ===== */
@media (max-width: 767px){

  .z-homepage h2,
  .z-section-title{
    font-size:28px !important;
    line-height:1.18 !important;
    margin-bottom:14px !important;
  }

  .z-homepage .text-center{
    padding-top:18px !important;
    padding-bottom:18px !important;
  }

  .z-homepage h2 + p,
  .z-homepage .text-center p{
    font-size:18px !important;
    line-height:1.45 !important;
    margin-bottom:0 !important;
  }

  .z-footer{
    margin-top:0 !important;
    padding-top:12px !important;
  }

  .z-footer-title{
    font-size:22px !important;
    margin-bottom:6px !important;
  }

  .z-footer p,
  .z-footer address,
  .z-footer a{
    font-size:18px !important;
    line-height:1.45 !important;
  }

  .z-footer-trust img{
    max-width:86% !important;
    margin-left:0 !important;
  }

  .z-footer-bottom{
    padding-bottom:18px !important;
  }

}

/* =========================================================
   POPULAR PICKS + CLOSING SECTION FINAL FIX
   ========================================================= */

.z-pj-popular-section{
  padding:10px 0 8px !important;
  margin:0 !important;
}

.z-pj-popular-title,
.z-pj-closing-title{
  font-family:Arial, sans-serif !important;
  color:#00a6c8 !important;
  text-transform:uppercase !important;
  text-align:center !important;
  font-size:28px !important;
  font-weight:500 !important;
  line-height:1.15 !important;
  margin:0 0 14px !important;
  padding:0 12px !important;
}

.z-pj-closing-section{
  text-align:center !important;
  padding:10px 12px 14px !important;
  margin:0 !important;
}

.z-pj-closing-section p{
  font-size:16px !important;
  line-height:1.45 !important;
  margin:0 auto !important;
  max-width:820px !important;
}

/* MOBILE COMPACT FIX */
@media(max-width:767px){

  .z-pj-popular-section{
    padding:6px 0 4px !important;
  }

  @media(max-width:767px){

  .z-pj-popular-title,
  .z-pj-closing-title{
    font-size:28px !important;
    line-height:1.15 !important;
  }

}

  .z-pj-closing-section{
    padding:8px 14px 12px !important;
  }

  .z-pj-popular-section .z-product-slide-outer,
  .z-pj-popular-section .z-swiper-products-inner,
  .z-pj-popular-section .swiper-wrapper,
  .z-pj-popular-section .swiper-slide{
    margin:0 !important;
    padding:0 !important;
    height:auto !important;
    min-height:0 !important;
  }

  .z-pj-popular-section .z-product-container{
    height:auto !important;
    min-height:0 !important;
    padding:0 !important;
    margin:0 !important;
    border:none !important;
    box-shadow:none !important;
  }

  .z-pj-popular-section .z-product-img{
    height:230px !important;
    min-height:0 !important;
    margin:0 0 8px !important;
    padding:0 !important;
  }

  .z-pj-popular-section .z-aspect,
  .z-pj-popular-section .z-aspect__inner{
    height:230px !important;
    min-height:0 !important;
    padding:0 !important;
    margin:0 !important;
  }

  .z-pj-popular-section .z-product-img img{
    max-height:220px !important;
    width:auto !important;
    object-fit:contain !important;
  }

  .z-pj-popular-section .z-multiline-truncate{
    min-height:0 !important;
    height:auto !important;
    margin:8px 0 6px !important;
    padding:0 12px !important;
    font-size:18px !important;
    line-height:1.25 !important;
  }

  .z-pj-popular-section .z-rating-wrapper{
    display:none !important;
  }

  .z-pj-popular-section .font-weight-bold.h4{
    margin:0 0 8px !important;
    padding:0 !important;
    font-size:24px !important;
    line-height:1.2 !important;
  }
  
}

/* =========================================================
   PARTY JOY FOOTER DESKTOP CARD LAYOUT FIX
   ========================================================= */

.z-footer{
  margin-top:20px !important;
  padding:24px 16px 0 !important;
  background:#f4f4f4 !important;
  border-top:1px solid #ddd !important;
}

.z-footer-wrap{
  max-width:1350px !important;
  margin:0 auto !important;
  overflow:visible !important;
}

@media (min-width:768px){

  .z-footer .z-footer-main{
    display:grid !important;
    grid-template-columns:1.25fr .85fr .85fr 1fr !important;
    gap:18px !important;
    align-items:stretch !important;
    margin:0 !important;
    padding:0 0 18px !important;
  }

  .z-footer .z-footer-main > div{
    width:auto !important;
    max-width:none !important;
    flex:none !important;

    padding:18px 20px !important;
    margin:0 !important;

    background:#fff !important;
    border-radius:14px !important;
    box-shadow:0 4px 18px rgba(0,0,0,.06) !important;
  }

  .z-footer .z-footer-content{
    display:block !important;
  }

  .z-footer .z-footer-toggle:after{
    display:none !important;
    content:none !important;
  }

}

.z-footer-title{
  font-size:16px !important;
  font-weight:700 !important;
  margin:0 0 8px !important;
  color:#111 !important;
  text-transform:uppercase !important;
}

.z-footer p,
.z-footer address,
.z-footer a{
  font-size:14px !important;
  line-height:1.55 !important;
  color:#222 !important;
}

.z-footer-links a{
  display:block !important;
  margin-bottom:5px !important;
}

.z-footer-trust{
  padding:18px 0 8px !important;
  margin:0 !important;
  text-align:center !important;
}

.z-footer-trust img{
  max-width:560px !important;
  width:100% !important;
  height:auto !important;
  margin:0 auto !important;
}

.z-footer-bottom{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:12px !important;

  width:100% !important;
  margin:0 !important;
  padding:12px !important;

  background:#111 !important;
}

/* =========================================================
   FOOTER CARD HEIGHT CONTROL
   ========================================================= */

@media(min-width:992px){

  .z-footer-main{
    align-items:start !important;
  }

  .z-footer-main > div{
    min-height:220px !important;
    height:auto !important;
  }

}

/* =========================================================
   BACK TO TOP BUTTON
   ========================================================= */

.z-move-top-btn{
  width:42px !important;
  height:42px !important;
  border-radius:50% !important;
  background:#00a6c8 !important;
  color:#fff !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:20px !important;
  font-weight:700 !important;
  box-shadow:0 4px 12px rgba(0,0,0,.18) !important;
  transition:.25s ease !important;
}

.z-move-top-btn:hover{
  transform:translateY(-2px);
  background:#008fb0 !important;
}

/* =========================================================
   PARTY JOY GUIDE CARDS - CLEAN FINAL
   ========================================================= */

.z-pj-guide-title{
  font-size:20px !important;
  line-height:1.2 !important;
  margin:0 0 6px !important;
}

.z-pj-guide-subtitle{
  font-size:13px !important;
  margin:0 0 14px !important;
}

.z-pj-guide-cards{
  display:flex !important;
  gap:18px !important;
  justify-content:center !important;
  align-items:flex-start !important;
}

.z-pj-guide-card{
  flex:1 !important;
  max-width:320px !important;
  text-align:center !important;
  text-decoration:none !important;
}

/* DESKTOP IMAGE */
.z-pj-guide-card img{
  width:100% !important;
  height:80px !important;
  object-fit:cover !important;
  object-position:center !important;
  display:block !important;
  margin:0 auto 8px !important;
}

.z-pj-guide-content h3{
  font-size:16px !important;
  line-height:1.3 !important;
  margin:0 0 6px !important;
}

.z-pj-guide-content p{
  font-size:13px !important;
  line-height:1.4 !important;
  margin:0 0 6px !important;
}

.z-pj-guide-content span{
  font-size:13px !important;
}

/* MOBILE */
@media(max-width:767px){

  .z-pj-guide-cards{
    display:block !important;
  }

  .z-pj-guide-card{
    display:flex !important;
    max-width:100% !important;
    text-align:left !important;
    margin-bottom:12px !important;
  }

  .z-pj-guide-card img{
    width:90px !important;
    min-width:90px !important;
    height:90px !important;
    margin-right:10px !important;
  }

  .z-pj-guide-content{
    padding:0 !important;
  }

  .z-pj-guide-content h3{
    font-size:15px !important;
  }

  .z-pj-guide-content p{
    font-size:12px !important;
  }
}

/* =========================================================
   EMERGENCY GUIDE CARD FIX
   ========================================================= */

.z-pj-guide-cards{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  justify-content:center !important;
  gap:12px !important;
  width:100% !important;
}

.z-pj-guide-card{
  width:33% !important;
  max-width:33% !important;
  flex:0 0 33% !important;
  display:block !important;
}

.z-pj-guide-card img{
  width:100% !important;
  height:70px !important;
  object-fit:cover !important;
  display:block !important;
}

.z-pj-guide-content h3{
  font-size:18px !important;
}

.z-pj-guide-content p{
  font-size:13px !important;
}

/* MOBILE */
@media(max-width:767px){

  .z-pj-guide-cards{
    display:block !important;
  }

  .z-pj-guide-card{
    width:100% !important;
    max-width:100% !important;
    flex:none !important;
    margin-bottom:12px !important;
  }

  .z-pj-guide-card img{
    height:90px !important;
  }
}

/* =========================================================
   PARTY JOY CHECKOUT ADDRESS - DUPLICATE BUTTON FIX
   ========================================================= */

@media(max-width:767px){

  #checkoutShipAddress .buttonRow.forward input[type="submit"] + input[type="submit"],
  #checkoutShipAddress .buttonRow.forward button + button,
  #checkoutShipAddress .buttonRow.forward .button + .button{
    display:none !important;
  }

  #checkoutShipAddress .buttonRow.forward{
    display:flex !important;
    justify-content:center !important;
    gap:0 !important;
  }

  #checkoutShipAddress .buttonRow.forward input[type="submit"],
  #checkoutShipAddress .buttonRow.forward button,
  #checkoutShipAddress .buttonRow.forward .button{
    width:auto !important;
    min-width:160px !important;
  }
}

.z-payment-method{
  border:2px solid #e5e5e5;
  border-radius:12px;
  padding:15px;
  margin:12px 0;
  background:#fff;
  transition:all .2s ease;
}

.z-payment-method:hover{
  border-color:#ffc107;
  background:#fffdf5;
}

.z-payment-method input[type=radio]{
  transform:scale(1.6);
  margin-right:12px;
  cursor:pointer;
}

.z-payment-method .radioButtonLabel{
  font-size:18px;
  font-weight:600;
  cursor:pointer;
}

.z-payment-selected{
  border-color:#ffc107 !important;
  background:#fff8dc !important;
  box-shadow:0 0 0 3px rgba(255,193,7,.15);
}

.z-payment-method{
  cursor:pointer;
}

.z-payment-method .radioButtonLabel{
  display:inline-block;
  width:calc(100% - 40px);
  vertical-align:middle;
}

@media(max-width:767px){

  .z-payment-method{
    padding:18px 15px;
  }

  .z-payment-method .radioButtonLabel{
    font-size:17px;
    line-height:1.3;
  }

}

#checkoutPayment .z-payment-method{
  display:block !important;
  border:2px solid #e5e5e5 !important;
  border-radius:12px !important;
  padding:16px !important;
  margin:14px 0 !important;
  background:#fff !important;
  cursor:pointer !important;
}

#checkoutPayment .z-payment-method:hover{
  border-color:#ffc107 !important;
  background:#fffdf5 !important;
}

#checkoutPayment .z-payment-method input[type="radio"]{
  transform:scale(1.6) !important;
  margin-right:12px !important;
}

#checkoutPayment .z-payment-method .radioButtonLabel{
  font-size:18px !important;
  font-weight:700 !important;
  cursor:pointer !important;
}

#checkoutPayment .z-payment-selected{
  border-color:#ffc107 !important;
  background:#fff8dc !important;
  box-shadow:0 0 0 3px rgba(255,193,7,.18) !important;
}

/* ==============================================
   PARTY JOY - WHATSAPP FLOATING BUTTON
   ============================================== */

#pj-help-button {
  width: 56px !important;
  height: 56px !important;
  min-width: 56px !important;
  min-height: 56px !important;

  background: #25D366 !important;
  border: 3px solid #ffffff !important;
  border-radius: 50% !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  padding: 0 !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.25) !important;
}

#pj-help-button svg {
  width: 32px !important;
  height: 32px !important;
  color: #ffffff !important;
  fill: none;
}

#pj-help-button i {
  font-size: 32px !important;
  color: #ffffff !important;
}

/* Party Joy responsive main page layout */
#contentMainWrapper {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

#contentMainWrapper > .row {
  min-width: 0;
}

#contentMainWrapper .pj-main-content {
  min-width: 0;
}

@media (max-width: 1199px) {
  #contentMainWrapper #navColumnOne,
  #contentMainWrapper #navColumnTwo {
    width: 100%;
  }
}