/* Kera Fine Diwali Experience V5 */
:root{--kfd-gold:#c69a4a;--kfd-gold-light:#f8e5b5}
.kfd-announcement{position:relative;z-index:99970;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:7px 13px;padding:11px 14px;background:linear-gradient(100deg,#713c22,#a66b2c 35%,#bd8a3d 50%,#925322);color:#fff7e5;text-align:center;font:600 12px/1.5 inherit;letter-spacing:.07em;border-bottom:1px solid rgba(255,226,164,.7)}
.kfd-announcement a{color:#fff!important;border:1px solid rgba(255,239,201,.75);border-radius:20px;padding:4px 10px;text-decoration:none!important;font-size:10px}
.kfd-lantern-stage{position:fixed;top:0;left:0;right:0;height:190px;z-index:99935;display:flex;justify-content:space-around;align-items:flex-start;padding:0 3vw;pointer-events:none;overflow:hidden}
.kfd-real-lantern{position:relative;width:58px;height:166px;transform-origin:top center;animation:kfd-lantern-sway 5.4s ease-in-out infinite alternate;filter:drop-shadow(0 7px 12px rgba(220,145,48,.28))}
.kfd-real-lantern:nth-child(even){animation-delay:-2.4s}
.kfd-real-lantern .cord{position:absolute;left:28px;top:0;width:2px;height:34px;background:linear-gradient(90deg,#8b5b27,#e6c27b,#8b5b27)}
.kfd-real-lantern .top-ring{position:absolute;left:17px;top:30px;width:24px;height:9px;border:2px solid #a97836;border-radius:50%;background:linear-gradient(#e8c77f,#98602b)}
.kfd-real-lantern .crown{position:absolute;left:12px;top:37px;width:34px;height:13px;background:linear-gradient(90deg,#8b5128,#f1cf7d,#99572a);clip-path:polygon(0 0,100% 0,82% 100%,18% 100%)}
.kfd-real-lantern .glass{position:absolute;left:10px;top:46px;width:38px;height:67px;overflow:hidden;border:2px solid #b77a36;border-radius:13px 13px 11px 11px;background:linear-gradient(90deg,rgba(148,76,32,.9),rgba(255,208,103,.8) 18%,rgba(255,245,190,.92) 47%,rgba(232,151,54,.8) 78%,rgba(126,61,29,.92));box-shadow:inset 0 0 16px rgba(255,250,209,.95),0 0 18px rgba(255,173,65,.48)}
.kfd-real-lantern .glass:before{content:"";position:absolute;left:7px;top:7px;width:21px;height:48px;border-radius:50%;background:radial-gradient(ellipse,#fffbdc 0%,rgba(255,222,126,.85) 38%,rgba(255,171,60,.05) 75%);filter:blur(2px);animation:kfd-lantern-glow 2.1s ease-in-out infinite alternate}
.kfd-real-lantern .glass:after{content:"";position:absolute;left:5px;top:5px;width:4px;height:50px;background:rgba(255,255,231,.7);border-radius:50%;filter:blur(1px)}
.kfd-real-lantern .base{position:absolute;left:13px;top:112px;width:32px;height:12px;background:linear-gradient(90deg,#8b5128,#f0ca77,#8b5128);clip-path:polygon(18% 0,82% 0,100% 100%,0 100%)}
.kfd-real-lantern .tassel{position:absolute;left:28px;top:123px;width:2px;height:28px;background:#b77b36}
.kfd-real-lantern .tassel:after{content:"";position:absolute;left:-5px;bottom:0;width:12px;height:9px;border-radius:50% 50% 65% 65%;background:linear-gradient(90deg,#a65d2e,#f0c26c,#a65d2e)}
@keyframes kfd-lantern-sway{from{transform:rotate(-4deg)}to{transform:rotate(4deg)}}
@keyframes kfd-lantern-glow{from{opacity:.72;transform:scale(.88)}to{opacity:1;transform:scale(1.08)}}
#kfd-v7-canvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:99955}
.kfd-gold-card{position:relative!important}
.kfd-gold-card:after{content:"";position:absolute;inset:0;border:1px solid rgba(198,154,74,.45);border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 12px rgba(248,229,181,.12),0 0 12px rgba(198,154,74,.1);animation:kfd-edge-glow 4s ease-in-out infinite alternate}
.kfd-gold-button{box-shadow:0 0 0 1px rgba(198,154,74,.28),0 3px 15px rgba(198,154,74,.15)!important}
@keyframes kfd-edge-glow{from{opacity:.35}to{opacity:.95}}
.kfd-cart-toast{position:fixed;right:20px;bottom:20px;z-index:100010;display:flex;gap:10px;align-items:center;max-width:min(390px,calc(100vw - 28px));padding:14px 18px;border:1px solid #dfc17c;border-radius:12px;background:linear-gradient(135deg,#fffaf0,#f5e6c9);box-shadow:0 10px 35px rgba(86,54,20,.2);color:#68451f;font:600 14px/1.4 inherit;opacity:0;transform:translateY(12px);transition:all .3s}
.kfd-cart-toast.kfd-show{opacity:1;transform:translateY(0)}
.kfd-popup-backdrop{position:fixed;inset:0;z-index:100020;display:grid;place-items:center;padding:18px;background:rgba(35,24,14,.58);opacity:0;visibility:hidden;transition:all .3s}
.kfd-popup-backdrop.kfd-visible{opacity:1;visibility:visible}
.kfd-popup-card{position:relative;width:min(470px,100%);padding:38px 30px 30px;box-sizing:border-box;text-align:center;border:1px solid #d5b36c;border-radius:18px;background:radial-gradient(circle at 50% 0%,#fffdf6,#fff5df 65%,#f4e2bf);box-shadow:0 22px 70px rgba(0,0,0,.28);color:#67451f}
.kfd-popup-close{position:absolute;top:10px;right:13px;width:34px;height:34px;border:0;border-radius:50%;background:rgba(153,104,45,.1);color:#805b32;font-size:23px;cursor:pointer}
.kfd-popup-title{margin:12px 0 10px;color:#795025;font:700 clamp(23px,5vw,31px)/1.2 Georgia,serif}
.kfd-popup-message{margin:0 auto 22px;max-width:360px;color:#765b3a;font:15px/1.65 inherit}
.kfd-popup-cta{display:inline-block;padding:12px 23px;border-radius:28px;background:linear-gradient(100deg,#8e5a27,#c99b4c,#8e5a27);color:#fff!important;font-size:11px;font-weight:700;letter-spacing:.1em;text-decoration:none!important}
@media(max-width:767px){.kfd-lantern-stage{height:130px;padding:0 2vw}.kfd-real-lantern{transform:scale(.72);transform-origin:top center}.kfd-cart-toast{right:12px;bottom:12px}.kfd-announcement{font-size:10px;padding:8px 6px}}
@media(prefers-reduced-motion:reduce){.kfd-real-lantern,.kfd-real-lantern .glass:before,.kfd-gold-card:after{animation:none}.kfd-popup-backdrop,.kfd-cart-toast{transition:none}}


/* V8 mobile layout refinements */
@media (max-width: 767px) {
  /* Keep the Diwali announcement compact and on one line above the site header. */
  .kfd-announcement {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5px !important;
    width: 100% !important;
    min-height: 30px !important;
    box-sizing: border-box !important;
    padding: 7px 8px !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: clip !important;
    line-height: 1.2 !important;
    font-size: clamp(7px, 2.35vw, 9px) !important;
    letter-spacing: .015em !important;
  }
  .kfd-announcement > span {
    flex: 0 0 auto !important;
    font-size: 9px !important;
  }
  .kfd-announcement strong {
    display: block !important;
    flex: 0 1 auto !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: clip !important;
    font-size: inherit !important;
    line-height: 1.2 !important;
  }
  .kfd-announcement a { display: none !important; }

  /* Remove the unwanted separate outline around common mobile search icon buttons.
     Keep the main search field border controlled by the active theme. */
  .header-search .searchsubmit,
  .header-search .search-submit,
  .header-search button,
  .header-search .button,
  .search-form .search-submit,
  .search-form button[type="submit"],
  .woocommerce-product-search button,
  .aws-search-btn,
  .dgwt-wcas-search-submit,
  .mobile-search button {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
  }
  .header-search .searchsubmit:before,
  .header-search .search-submit:before,
  .search-form .search-submit:before,
  .aws-search-btn:before,
  .dgwt-wcas-search-submit:before {
    box-shadow: none !important;
  }
}


/* V9: prevent sticky mobile header from sliding underneath the announcement strip */
@media (max-width: 767px) {
  .kfd-announcement {
    position: relative !important;
    z-index: 100000 !important;
    display: flex !important;
    width: 100% !important;
    min-height: 32px !important;
    height: auto !important;
    margin: 0 !important;
    box-sizing: border-box !important;
  }
  body.kfd-mobile-announcement-active header.kfd-mobile-sticky-offset,
  body.kfd-mobile-announcement-active #masthead.kfd-mobile-sticky-offset,
  body.kfd-mobile-announcement-active .site-header.kfd-mobile-sticky-offset,
  body.kfd-mobile-announcement-active .header-wrapper.kfd-mobile-sticky-offset,
  body.kfd-mobile-announcement-active .main-header.kfd-mobile-sticky-offset,
  body.kfd-mobile-announcement-active .header-main.kfd-mobile-sticky-offset,
  body.kfd-mobile-announcement-active .elementor-location-header.kfd-mobile-sticky-offset {
    top: var(--kfd-mobile-announcement-height, 32px) !important;
  }
}


/* V10: announcement is moved inside the mobile header by JS, so it occupies
   its own layout row instead of overlaying the logo/search row. */
@media (max-width: 767px) {
  .kfd-announcement.kfd-announcement-in-header {
    position: relative !important;
    inset: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    display: flex !important;
    float: none !important;
    clear: both !important;
    width: 100vw !important;
    max-width: 100vw !important;
    min-height: 32px !important;
    height: auto !important;
    margin: 0 0 0 0 !important;
    padding: 7px 8px !important;
    box-sizing: border-box !important;
    z-index: 5 !important;
    overflow: hidden !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    align-items: center !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
    font-size: clamp(7px, 2.35vw, 9px) !important;
    letter-spacing: .015em !important;
  }
  .kfd-announcement.kfd-announcement-in-header > span {
    flex: 0 0 auto !important;
    font-size: 9px !important;
  }
  .kfd-announcement.kfd-announcement-in-header strong {
    display: block !important;
    flex: 0 1 auto !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    font-size: inherit !important;
    line-height: 1.2 !important;
  }
  .kfd-announcement.kfd-announcement-in-header a { display: none !important; }
}
