:root {
  --dhm-navy: #111936;
  --dhm-yellow: #ffd447;
  --dhm-gold: #f6a321;
  --dhm-cream: #fff7dd;
  --dhm-white: #ffffff;
  --dhm-brown: #8f4700;
  --dhm-brown-dark: #5b2c00;
  --dhm-orange: #e95d18;
  --dhm-green: #18a64a;
  --dhm-muted: #4d5570;
  --dhm-shadow: 0 18px 42px rgba(17, 25, 54, 0.16);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body.dhm-popcorn-theme {
  margin: 0;
  color: var(--dhm-navy);
  font-family: Arial, Helvetica, sans-serif;
  background: radial-gradient(circle at top left, #fff4ad 0%, var(--dhm-yellow) 42%, var(--dhm-gold) 100%);
  overflow-x: hidden;
}
a { color: inherit; }
img { max-width: 100%; height: auto; }
.dhm-container { width: min(1180px, calc(100% - 28px)); margin-inline: auto; }
.dhm-main { padding-block: 18px; }
.dhm-elementor-content:empty { display: none; }

.dhm-site-header { padding: 14px 0 0; }
.dhm-header-inner {
  background: var(--dhm-navy);
  color: var(--dhm-white);
  border-radius: 24px;
  padding: 14px;
  display: flex;
  align-items: center;
  gap: 14px;
  box-shadow: var(--dhm-shadow);
}
.dhm-brand { display: flex; align-items: center; gap: 12px; text-decoration: none; min-width: 0; flex: 1; }
.dhm-brand img { width: 58px; height: 58px; border-radius: 16px; object-fit: cover; background: var(--dhm-white); flex: 0 0 auto; }
.dhm-brand strong { display: block; font-size: 20px; line-height: 1.12; font-weight: 950; }
.dhm-brand em { display: block; margin-top: 4px; font-style: normal; color: var(--dhm-yellow); font-weight: 900; font-size: 14px; }
.dhm-primary-nav { display: none; }
.dhm-menu { list-style: none; display: flex; gap: 8px; margin: 0; padding: 0; }
.dhm-menu a { display: inline-flex; text-decoration: none; color: var(--dhm-white); background: rgba(255,255,255,0.12); border-radius: 999px; padding: 10px 14px; font-weight: 900; }
.dhm-header-order { background: var(--dhm-orange); color: var(--dhm-white); text-decoration: none; border-radius: 999px; padding: 12px 17px; font-weight: 950; flex: 0 0 auto; }

.dhm-hero { background: var(--dhm-cream); border-radius: 28px; padding: 20px; box-shadow: var(--dhm-shadow); }
.dhm-hero-logo-card { background: var(--dhm-white); border-radius: 24px; padding: 12px; margin-bottom: 22px; box-shadow: 0 14px 30px rgba(17,25,54,0.12); }
.dhm-hero-logo-card img { display: block; border-radius: 18px; width: 100%; }
.dhm-eyebrow, .dhm-section-eyebrow, .dhm-light-eyebrow { margin: 0 0 10px; font-size: 13px; font-weight: 950; letter-spacing: 1px; text-transform: uppercase; }
.dhm-eyebrow { display: inline-flex; background: var(--dhm-navy); color: var(--dhm-white); padding: 10px 16px; border-radius: 999px; }
.dhm-section-eyebrow { color: #c94f11; }
.dhm-light-eyebrow { color: #ffe6a6; text-align: center; }
.dhm-hero h1, .dhm-occasion-card h2, .dhm-faq-card h2 { margin: 0 0 16px; font-size: clamp(40px, 8vw, 60px); line-height: 0.98; letter-spacing: -1px; font-weight: 950; }
.dhm-hero p:not(.dhm-eyebrow), .dhm-occasion-card p, .dhm-faq-card p { color: var(--dhm-muted); font-size: 18px; line-height: 1.6; }
.dhm-contact-panel { background: var(--dhm-white); border-radius: 18px; padding: 16px; margin: 18px 0; box-shadow: 0 10px 24px rgba(17,25,54,0.1); }
.dhm-contact-panel span { display: block; color: var(--dhm-muted); font-size: 12px; font-weight: 950; text-transform: uppercase; letter-spacing: 0.7px; margin-bottom: 6px; }
.dhm-contact-panel strong { display: block; font-size: 28px; line-height: 1.15; font-weight: 950; }
.dhm-action-row { display: grid; gap: 12px; }
.dhm-btn { min-height: 54px; border-radius: 16px; color: var(--dhm-white); text-decoration: none; padding: 13px 16px; display: inline-flex; justify-content: center; align-items: center; text-align: center; font-size: 17px; font-weight: 950; }
.dhm-btn-orange { background: var(--dhm-orange); }
.dhm-btn-green { background: var(--dhm-green); }
.dhm-btn-navy { background: var(--dhm-navy); }

.dhm-trust-grid { display: grid; gap: 14px; margin-top: 16px; }
.dhm-info-card { background: var(--dhm-white); border-radius: 22px; padding: 18px; display: flex; align-items: flex-start; gap: 14px; box-shadow: 0 12px 26px rgba(17,25,54,0.12); }
.dhm-info-card span { width: 52px; height: 52px; background: #fff0ad; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; font-size: 24px; flex: 0 0 auto; }
.dhm-info-card h3 { margin: 0 0 8px; font-size: 24px; line-height: 1.1; font-weight: 950; }
.dhm-info-card p { margin: 0; color: var(--dhm-muted); font-size: 17px; line-height: 1.55; }

.dhm-occasion-card, .dhm-faq-card, .dhm-content-card, .dhm-page-content .page, .dhm-page-content article { background: var(--dhm-white); border-radius: 26px; padding: 20px; margin-top: 16px; box-shadow: 0 14px 30px rgba(17,25,54,0.12); }
.dhm-occasion-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.dhm-occasion-grid a { background: #fff1b8; color: var(--dhm-brown-dark); text-decoration: none; border-radius: 16px; padding: 16px 12px; text-align: center; font-size: 16px; font-weight: 950; box-shadow: 0 8px 18px rgba(91,44,0,0.1); }

.dhm-flavour-section { background: var(--dhm-brown); color: var(--dhm-white); border-radius: 28px; padding: 22px 14px; margin-top: 18px; box-shadow: 0 24px 54px rgba(17,25,54,0.2); }
.dhm-flavour-section h2 { margin: 0 0 22px; text-align: center; font-size: clamp(38px, 8vw, 58px); line-height: 1.05; font-weight: 950; }
.dhm-placeholder-products { background: #ffec9d; color: var(--dhm-navy); border-radius: 20px; padding: 24px; text-align: center; }

.dhm-flavour-section .woocommerce ul.products, .dhm-static-flavour-grid {
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 14px;
  margin: 0 !important;
  padding: 0 !important;
}
.dhm-flavour-section .woocommerce ul.products li.product, .dhm-static-flavour-card {
  width: auto !important;
  float: none !important;
  clear: none !important;
  margin: 0 !important;
  background: #ffec9d;
  color: var(--dhm-navy);
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 16px 34px rgba(0,0,0,0.18);
  padding: 0 0 16px !important;
  text-align: left;
  min-width: 0;
}
.dhm-flavour-section .woocommerce ul.products li.product a img, .dhm-static-flavour-card img {
  width: 100% !important;
  height: 170px !important;
  object-fit: cover !important;
  margin: 0 0 14px !important;
  background: var(--dhm-white);
  display: block;
}
.dhm-flavour-section .woocommerce ul.products li.product .woocommerce-loop-product__title, .dhm-static-flavour-card h3 {
  color: var(--dhm-brown-dark);
  font-size: 18px;
  line-height: 1.05;
  font-weight: 950;
  padding: 0 14px !important;
  margin: 0 0 10px !important;
  text-align: center;
}
.dhm-flavour-section .woocommerce ul.products li.product .price, .dhm-static-flavour-card p {
  display: block;
  color: var(--dhm-navy) !important;
  font-weight: 950;
  font-size: 16px;
  padding: 0 14px;
  margin: 0;
}
.dhm-flavour-section .woocommerce ul.products li.product .button, .dhm-small-order-btn {
  background: var(--dhm-orange) !important;
  color: var(--dhm-white) !important;
  border-radius: 14px !important;
  padding: 12px 14px !important;
  font-weight: 950 !important;
  margin: 14px 14px 0 !important;
  text-align: center;
  display: inline-flex;
  text-decoration: none;
}

.dhm-shop-wrap { background: var(--dhm-cream); border-radius: 28px; padding: 22px; box-shadow: var(--dhm-shadow); }
.dhm-shop-wrap .woocommerce ul.products { display: grid !important; grid-template-columns: 1fr; gap: 18px; margin: 0; padding: 0; }
.dhm-shop-wrap .woocommerce ul.products li.product { width: auto !important; float: none !important; clear: none !important; margin: 0 !important; background: #ffec9d; border-radius: 22px; overflow: hidden; padding: 0 0 18px !important; box-shadow: 0 16px 34px rgba(0,0,0,0.12); }
.dhm-shop-wrap .woocommerce ul.products li.product a img { width: 100%; height: 230px; object-fit: cover; margin: 0 0 18px !important; background: var(--dhm-white); }
.dhm-shop-wrap .woocommerce ul.products li.product .woocommerce-loop-product__title { color: var(--dhm-brown-dark); font-size: 24px; line-height: 1.1; font-weight: 950; padding: 0 18px !important; margin: 0 0 10px !important; }
.dhm-shop-wrap .woocommerce ul.products li.product .price { display: block; color: var(--dhm-navy) !important; font-weight: 950; font-size: 18px; padding: 0 18px; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button { background: var(--dhm-orange) !important; color: var(--dhm-white) !important; border-radius: 16px !important; padding: 14px 18px !important; font-weight: 950 !important; margin: 14px 18px 0 !important; text-align: center; }
.woocommerce div.product div.images img { border-radius: 22px; background: var(--dhm-white); }
.woocommerce div.product .product_title { color: var(--dhm-brown-dark); font-weight: 950; }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--dhm-navy); font-weight: 950; }

.dhm-faq-card details { background: var(--dhm-white); border-radius: 18px; padding: 16px; margin-top: 12px; border: 1px solid rgba(17,25,54,0.08); }
.dhm-faq-card summary { cursor: pointer; font-size: 19px; font-weight: 950; }
.dhm-faq-card details p { margin-bottom: 0; }
.dhm-page-content { padding-block: 18px; }
.dhm-content-card, .dhm-page-content article { background: var(--dhm-cream); margin-top: 0; }
.dhm-content-card h1, .dhm-page-content article h1 { margin: 0 0 18px; font-size: clamp(36px, 7vw, 52px); line-height: 1.08; font-weight: 950; }
.entry-content { color: var(--dhm-muted); font-size: 18px; line-height: 1.65; }
.entry-content a { color: var(--dhm-brown-dark); font-weight: 900; }

.dhm-site-footer { padding: 18px 0 96px; }
.dhm-footer-grid { background: var(--dhm-navy); color: var(--dhm-white); border-radius: 24px; padding: 22px; display: grid; gap: 22px; }
.dhm-footer-logo { width: 76px; height: 76px; border-radius: 18px; object-fit: cover; background: var(--dhm-white); }
.dhm-site-footer h2, .dhm-site-footer h3 { margin: 0 0 10px; }
.dhm-site-footer p { color: #fff0ad; margin: 6px 0; }
.dhm-footer-links { list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; }
.dhm-footer-links a { display: block; text-decoration: none; color: var(--dhm-white); background: rgba(255,255,255,0.12); border-radius: 14px; padding: 13px 14px; font-weight: 900; }
.dhm-sticky-whatsapp { position: fixed; right: 14px; bottom: 18px; z-index: 999; background: var(--dhm-green); color: var(--dhm-white); text-decoration: none; border-radius: 999px; padding: 12px 16px; font-size: 15px; font-weight: 950; box-shadow: 0 14px 30px rgba(0,0,0,0.25); }

@media (min-width: 720px) {
  .dhm-hero { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: 28px; align-items: center; padding: 26px; }
  .dhm-hero-logo-card { margin-bottom: 0; }
  .dhm-action-row { grid-template-columns: repeat(3, 1fr); }
  .dhm-trust-grid { grid-template-columns: repeat(3, 1fr); }
  .dhm-occasion-card { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: 20px; align-items: center; }
  .dhm-occasion-grid { grid-template-columns: repeat(2, 1fr); }
  .dhm-flavour-section .woocommerce ul.products, .dhm-static-flavour-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dhm-shop-wrap .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dhm-footer-grid { grid-template-columns: 1fr 1fr 1fr; }
  .dhm-primary-nav { display: block; }
}
@media (min-width: 1024px) {
  .dhm-flavour-section .woocommerce ul.products, .dhm-static-flavour-grid { grid-template-columns: repeat(5, minmax(0, 1fr)) !important; }
  .dhm-shop-wrap .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .dhm-flavour-section .woocommerce ul.products li.product a img, .dhm-static-flavour-card img { height: 150px !important; }
  .dhm-shop-wrap .woocommerce ul.products li.product a img { height: 230px; }
  .dhm-flavour-section .woocommerce ul.products li.product .woocommerce-loop-product__title, .dhm-static-flavour-card h3 { font-size: 18px; }
}
