/* Shared product preview. Visual rules only; WooCommerce and plugin forms stay native. */
.ph-product-page { padding-top: 88px; background: #05070d; }
.ph-product-page > .ph-wrap { padding-bottom: 80px; }
.ph-product-page__breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-bottom: 22px; color: #8f9db1; font-size: 13px; }
.ph-product-page__breadcrumbs a:hover { color: #3db6f5; }
.ph-product-page__breadcrumbs > span { color: #55657b; }
.ph-product-page .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.ph-product-page div.product { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; gap: 36px 54px; min-width: 0; }
.ph-product-page div.product > .woocommerce-product-gallery,
.ph-product-page div.product > .images { grid-column: 1; grid-row: 1; width: 100% !important; float: none !important; margin: 0 !important; overflow: hidden; border: 1px solid #ffffff20; border-radius: 20px; background: #fff; }
.ph-product-page .woocommerce-product-gallery img { display: block; width: 100%; height: auto; object-fit: contain; }
.ph-product-page .woocommerce-product-gallery__image a { display: block; }
.ph-product-page div.product > .summary { grid-column: 2; grid-row: 1; width: 100% !important; float: none !important; margin: 0 !important; padding: 4px 0 0; }
.ph-product-page__eyebrow { margin-bottom: 14px !important; color: #3db6f5; font-size: 12px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.ph-product-page .product_title { margin: 0 0 16px !important; font: 700 clamp(44px, 4.6vw, 68px)/1.04 Oswald, Impact, sans-serif !important; color: #eef2f8 !important; text-transform: uppercase; }
.ph-product-page .summary > .price { display: block; margin: 0 0 20px !important; color: #eef2f8 !important; font-size: 26px !important; font-weight: 800; }
.ph-product-page .summary > .price :is(ins, bdi) { color: #eef2f8 !important; }
.ph-product-page .woocommerce-product-details__short-description { margin: 0 0 22px; color: #bac6d6; font-size: 15px; line-height: 1.7; }
.ph-product-page .woocommerce-product-details__short-description p + p { margin-top: 12px; }
.ph-product-page .summary form.cart { display: block !important; width: 100%; margin: 24px 0 0 !important; padding: 26px; border: 1px solid #ffffff29; border-radius: 18px; background: #151e2d; color: #eef2f8; }
.ph-product-page .summary form.cart :is(input:not([type="hidden"]), select, textarea) { max-width: 100%; border: 1px solid #465570; border-radius: 9px; background: #0f1725; color: #eef2f8; }
.ph-product-page .summary form.cart :is(input:not([type="hidden"]), select, textarea):focus { outline: 2px solid #3db6f5; outline-offset: 1px; }
.ph-product-page .summary form.cart input[readonly] { cursor: pointer; }
.ph-product-page .summary form.cart :is(button.single_add_to_cart_button, button[type="submit"]) { min-height: 54px; border: 0; border-radius: 10px; background: #2096d4 !important; color: #fff !important; font: 700 15px/1.2 Inter, system-ui, sans-serif; cursor: pointer; }
.ph-product-page .summary form.cart :is(button.single_add_to_cart_button, button[type="submit"]):hover { background: #1686c1 !important; }
.ph-product-page .summary form.cart .booking-form-wrapper { margin-bottom: 24px; }
.ph-product-page .summary form.cart #bfws-calendar-wrapper { color: #eef2f8; }
.ph-product-page .summary form.cart #bfws-calendar-wrapper table { width: 100%; border-collapse: separate; border-spacing: 8px; }
.ph-product-page .summary form.cart #bfws-calendar-wrapper td { border: 0; background: transparent; color: #dce5f0; }
.ph-product-page .summary form.cart #bfws-calendar-wrapper .bfws-date-field-wrapper { padding: 0; }
.ph-product-page .summary form.cart #bfws-calendar-wrapper .bfws-date-field-wrapper input { width: 100%; min-height: 48px; padding: 10px 12px; }
.ph-product-page .summary form.cart #bfws-calendar-wrapper input[type="number"] { width: 76px; min-height: 42px; padding: 6px 9px; }
.ph-product-page .summary form.cart .pewc-product-extra-groups-wrap { margin-top: 24px; }
.ph-product-page .summary form.cart .pewc-group-wrap { margin-bottom: 18px; }
.ph-product-page .summary form.cart .pewc-field-label { color: #eef2f8; font-weight: 700; }
.ph-product-page .summary form.cart .pewc-item-field-wrapper { color: #c9d2e0; }
.ph-product-page .summary form.cart .pewc-checkbox-image-wrapper { border: 1px solid #ffffff29; border-radius: 10px; background: #111a2b; }
.ph-product-page .summary form.cart .pewc-checkbox-image-wrapper:hover { border-color: #3db6f5; }
.ph-product-page .summary .product_meta { margin-top: 24px; color: #8494a9; font-size: 12px; }
.ph-product-page div.product > :is(.woocommerce-tabs, .related, .upsells) { grid-column: 1 / -1; float: none; width: 100%; margin: 28px 0 0; }
.ph-product-page .woocommerce-tabs { padding: 36px; border: 1px solid #ffffff1e; border-radius: 18px; background: #111725; color: #c9d2e0; }
.ph-product-page .woocommerce-tabs :is(h2,h3) { margin-bottom: 16px; color: #eef2f8; }
.ph-product-page .woocommerce-tabs p + p { margin-top: 16px; }
.ph-product-page .woocommerce-tabs ul.tabs { display: flex; gap: 16px; padding: 0 0 20px !important; border-bottom: 1px solid #ffffff24; }
.ph-product-page .woocommerce-tabs ul.tabs::before,
.ph-product-page .woocommerce-tabs ul.tabs li::before,
.ph-product-page .woocommerce-tabs ul.tabs li::after { display: none !important; }
.ph-product-page .woocommerce-tabs ul.tabs li { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; color: #b8c4d6 !important; }
.ph-product-page .woocommerce-tabs ul.tabs li.active a { color: #3db6f5 !important; }
.ph-product-page .related > h2,
.ph-product-page .upsells > h2 { margin-bottom: 28px; font-size: clamp(34px, 4vw, 56px); }
.ph-product-page .related ul.products,
.ph-product-page .upsells ul.products { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin: 0 !important; padding: 0 !important; }
.ph-product-page .related ul.products li.product,
.ph-product-page .upsells ul.products li.product { display: block !important; width: auto !important; margin: 0 !important; padding: 0 0 20px !important; border: 1px solid #ffffff1e; border-radius: 16px; overflow: hidden; background: #161e30; }
.ph-product-page .related ul.products li.product img,
.ph-product-page .upsells ul.products li.product img { width: 100%; aspect-ratio: 1; object-fit: contain; background: #fff; }
.ph-product-page .related ul.products li.product :is(h2,.price,.button),
.ph-product-page .upsells ul.products li.product :is(h2,.price,.button) { margin-left: 16px; margin-right: 16px; }
.ph-product-page .related ul.products li.product h2,
.ph-product-page .upsells ul.products li.product h2 { color: #eef2f8; font: 700 20px/1.2 Oswald, Impact, sans-serif; text-transform: uppercase; }
.ph-product-page .related ul.products li.product .price,
.ph-product-page .upsells ul.products li.product .price { color: #b8c4d6; }
.ph-product-page .related ul.products li.product .button,
.ph-product-page .upsells ul.products li.product .button { display: inline-flex; border-radius: 9px; background: #2096d4; color: #fff; }
.ph-product-page .ph-process { margin-top: 12px; }
@media (max-width: 900px) {
  .ph-product-page { padding-top: 52px; }
  .ph-product-page div.product { grid-template-columns: 1fr; gap: 26px; }
  .ph-product-page div.product > .woocommerce-product-gallery,
  .ph-product-page div.product > .images,
  .ph-product-page div.product > .summary { grid-column: 1; grid-row: auto; }
  .ph-product-page .related ul.products,
  .ph-product-page .upsells ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .ph-product-page { padding-top: 32px; }
  .ph-product-page > .ph-wrap { padding-bottom: 58px; }
  .ph-product-page .product_title { font-size: 42px !important; }
  .ph-product-page .summary form.cart { padding: 16px; }
  .ph-product-page .woocommerce-tabs { padding: 20px; }
  .ph-product-page .related ul.products,
  .ph-product-page .upsells ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .ph-product-page .related ul.products li.product h2,
  .ph-product-page .upsells ul.products li.product h2 { font-size: 16px; }
}

/* All product categories share the same WooCommerce-backed archive card. */
.ph-archive { min-height: 70vh; background: #05070d; }
.ph-archive__hero { padding: 104px 0 84px; border-bottom: 1px solid #ffffff1e; background: radial-gradient(circle at 78% 30%, #19355c, transparent 36%), #0c1423; }
.ph-archive__hero h1 { max-width: 900px; margin-top: 20px; font-size: clamp(50px, 7vw, 92px); }
.ph-archive__intro { max-width: 760px; margin-top: 24px; color: #bdc8d7; font-size: 17px; }
.ph-archive__intro p + p { margin-top: 12px; }
.ph-archive__body { padding-top: 46px; padding-bottom: 110px; }
.ph-archive__categories { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 38px; }
.ph-archive__categories a { padding: 11px 17px; border: 1px solid #ffffff32; border-radius: 999px; background: #121a2a; color: #c9d4e3; font-size: 13px; font-weight: 700; }
.ph-archive__categories a:hover,
.ph-archive__categories a.is-current { border-color: #3db6f5; background: #2096d4; color: #fff; }
.ph-archive__toolbar { display: flex; justify-content: space-between; align-items: center; gap: 20px; margin-bottom: 24px; color: #a9b5c5; font-size: 13px; }
.ph-archive__toolbar .woocommerce-result-count { float: none; margin: 0; }
.ph-archive__toolbar .woocommerce-ordering { float: none; margin: 0; }
.ph-archive__toolbar select { min-height: 42px; padding: 8px 12px; border: 1px solid #ffffff30; border-radius: 9px; background: #151e2d; color: #eef2f8; }
.ph-archive__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.ph-archive-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid #ffffff20; border-radius: 17px; background: #161e30; }
.ph-archive-card__image { display: block; aspect-ratio: 1; background: #fff; }
.ph-archive-card__image img { display: block; width: 100%; height: 100%; object-fit: contain; }
.ph-archive-card__body { display: flex; flex: 1; flex-direction: column; padding: 21px; }
.ph-archive-card__body > p { color: #61bef1; font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.ph-archive-card h2 { min-height: 48px; margin-top: 8px; font-size: 23px; }
.ph-archive-card h2 a:hover { color: #3db6f5; }
.ph-archive-card__bottom { display: flex; flex-direction: column; align-items: start; gap: 14px; margin-top: auto; padding-top: 18px; }
.ph-archive-card__bottom > span { color: #dce6f3; font-size: 17px; font-weight: 700; }
.ph-archive-card__bottom > a { color: #3db6f5; font-size: 13px; font-weight: 800; }
.ph-archive__pagination { margin-top: 44px; }
.ph-archive__pagination .page-numbers { color: #cbd7e4; }
.ph-archive__pagination .page-numbers.current { color: #3db6f5; }
.ph-archive__empty { padding: 40px; border: 1px solid #ffffff22; border-radius: 16px; background: #141c2c; }
@media (max-width: 900px) {
  .ph-archive__hero { padding: 72px 0; }
  .ph-archive__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .ph-archive__hero { padding: 64px 0; }
  .ph-archive__hero h1 { font-size: 48px; }
  .ph-archive__body { padding-top: 32px; padding-bottom: 72px; }
  .ph-archive__toolbar { align-items: start; flex-direction: column; }
  .ph-archive__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .ph-archive-card__body { padding: 14px; }
  .ph-archive-card h2 { font-size: 18px; }
  .ph-archive-card__bottom > span { font-size: 14px; }
}
