.ppbd-consent[hidden] { display: none !important; }
#ppbd-consent-test[hidden] { display: none !important; }
/* Hide the floating search and its price card only while a choice is being requested.
   Removing this class restores their own scroll/menu/mobile state after either answer. */
html.ppbd-consent-open #pp-booking-dock,
html.ppbd-consent-open .ppbd-price-panel,
html.ppbd-consent-open .ppbd-price-reopen { display: none !important; }
body .ppbd-consent {
    /* Keep both choices above other booking/calendar layers. */
    position: fixed; z-index: 100200; bottom: 18px; left: 50%; transform: translateX(-50%);
    width: min(680px, calc(100% - 32px)); max-height: calc(100dvh - 32px); overflow: auto;
    box-sizing: border-box; padding: 24px; border: 1px solid #d7cec8; border-radius: 4px;
    background: #f5f2ee; color: #251f1c; font: 14px/1.6 Poppins, sans-serif;
    box-shadow: 0 8px 30px rgba(31,23,20,.12); text-shadow: none;
}
body .ppbd-consent h2 { margin: 0 0 8px; color: #251f1c; font: 600 20px/1.3 Poppins,sans-serif; text-shadow: none; }
body .ppbd-consent p { margin: 0 0 10px; font-size: 14px; text-shadow: none; }
body .ppbd-consent a { display: inline-block; color: #4d372f; text-decoration: underline; text-underline-offset: 3px; }
body .ppbd-consent-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
body .ppbd-consent-actions button {
    min-height: 44px; margin: 0; padding: 10px 12px; border: 1px solid #49362f; border-radius: 4px;
    background: #49362f; color: #fff; font: 600 14px/1.5 Poppins,sans-serif; text-shadow: none; box-shadow: none;
    transition: background-color 180ms ease,border-color 180ms ease;
}
body .ppbd-consent-actions button:hover { background: #5a433b; border-color: #5a433b; transform: none; box-shadow: none; }
body .ppbd-consent-actions button:focus-visible, body .ppbd-consent a:focus-visible,
body .ppbd-consent-details summary:focus-visible, body .ppbd-consent-details button:focus-visible,
body .ppbd-consent-settings-block button:focus-visible { outline: 2px solid #5a433b; outline-offset: 3px; }
body .ppbd-consent-details { margin-top: 12px; }
body .ppbd-consent-details[open] { padding-top: 12px; border-top: 1px solid #d7cec8; }
body .ppbd-consent-details summary { width: fit-content; color: #4d372f; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
body .ppbd-consent-details p { margin: 10px 0; }
body .ppbd-consent-details button { min-height: 44px; padding: 9px 14px; border: 1px solid #49362f; border-radius: 4px; background: #fff; color: #49362f; font: 600 14px/1.5 Poppins,sans-serif; text-shadow: none; box-shadow: none; }
body .ppbd-consent-details button:hover { background: #ebe4df; }
body .ppbd-consent-details a { margin-left: 14px; }
body .ppbd-consent-settings-block { margin: 24px 0; }
body .ppbd-consent-settings-block button {
    min-height: 44px; margin: 0; padding: 8px 12px; background: transparent; border: 0; border-radius: 0;
    color: #49362f; font: 13px/1.5 Poppins,sans-serif; text-decoration: underline; text-underline-offset: 3px;
    text-shadow: none; box-shadow: none;
}
@media(max-width: 767px) {
    body .ppbd-consent { padding: 18px; bottom: 12px; }
    body .ppbd-consent h2 { font-size: 18px; }
    body .ppbd-consent-actions { grid-template-columns: 1fr; gap: 8px; }
    body .ppbd-consent-details a { display: block; width: fit-content; margin: 10px 0 0; }
}
@media(prefers-reduced-motion: reduce) { body .ppbd-consent-actions button { transition: none; } }
