/*
 * Booking pages (daplace-booking plugin) in the Figma "Daplace Website 26" design.
 * See inc/booking-figma.php. Loaded after the plugin's daplace-booking.css.
 *
 * Every rule is scoped under body.dp-bk (added on the plugin's pages only) or a
 * dpf-* class printed by the template copies in daplace-booking/, so nothing here
 * reaches the Elementor pages. Selectors start with `body.dp-bk` to win over the
 * Elementor kit (`.elementor-kit-7 h1 / button`) and Astra's global button, input
 * and link styles without relying on the stylesheet order.
 *
 * Sections: tokens · base · shared components · results · property · availability
 * & rates · rate page · booking form · confirmation · manage booking · datepicker.
 */

/* ==========================================================================
   Tokens
   ========================================================================== */
body.dp-bk {
	--dpf-navy: #21394D;
	--dpf-beige: #EAE6DD;
	--dpf-lilac: #D9C5D4;
	--dpf-mauve: #A26A94;
	--dpf-gold: #BDA46E;
	--dpf-white: #FFFFFF;
	--dpf-grey: #C4C4C4;
	--dpf-error: #A50E25; /* ≥4.5:1 on lilac, beige and white (Figma red #E3000F isn't, on lilac/beige) */
	--dpf-font: 'FuturaStd', 'Futura Std', 'Futura', 'Trebuchet MS', sans-serif;
	--dpf-serif: 'Baskervville', 'Libre Baskerville', Georgia, serif;
	--dpf-gutter: 24px;
	--dpf-max: 1188px; /* 1140px content + gutters: the header's container, so the logo and burger line up */
	--dpf-radius-card: 20px;
	--dpf-radius-panel: 10px;
}

/* Icons: the Figma "Icona-*" SVGs (media library) as masks, plus a few drawn here. */
body.dp-bk {
	--dpf-i-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M16.5401 14.5485C17.654 13.0295 18.2954 11.173 18.2954 9.14768C18.2954 4.08439 14.211 0 9.14768 0C4.08439 0 0 4.08439 0 9.14768C0 14.211 4.08439 18.2954 9.14768 18.2954C11.173 18.2954 13.0295 17.654 14.5485 16.5401L22.0084 24L24 22.0084L16.5401 14.5485ZM9.14768 15.5949C5.56962 15.5949 2.70042 12.692 2.70042 9.14768C2.70042 5.60338 5.56962 2.70042 9.14768 2.70042C12.7257 2.70042 15.5949 5.60338 15.5949 9.14768C15.5949 12.692 12.692 15.5949 9.14768 15.5949Z' fill='%23000'%3E%3C/path%3E%3C/svg%3E");
	--dpf-i-filter: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 25 27' fill='none'%3E%3Cpath d='M1 3.77778H9.625M9.625 3.77778C9.625 5.3119 10.9121 6.55556 12.5 6.55556C14.0879 6.55556 15.375 5.3119 15.375 3.77778M9.625 3.77778C9.625 2.24365 10.9121 1 12.5 1C14.0879 1 15.375 2.24365 15.375 3.77778M15.375 3.77778H24M1 13.5H18.25M18.25 13.5C18.25 15.0342 19.5371 16.2778 21.125 16.2778C22.7129 16.2778 24 15.0342 24 13.5C24 11.9658 22.7129 10.7222 21.125 10.7222C19.5371 10.7222 18.25 11.9658 18.25 13.5ZM6.75 23.2222H24M6.75 23.2222C6.75 21.6881 5.46282 20.4444 3.875 20.4444C2.28718 20.4444 1 21.6881 1 23.2222C1 24.7564 2.28718 26 3.875 26C5.46282 26 6.75 24.7564 6.75 23.2222Z' stroke-width='2' stroke-linecap='round' stroke='%23000'%3E%3C/path%3E%3C/svg%3E");
	--dpf-i-people: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 31 22' fill='none'%3E%3Cpath d='M24.5491 5.26063C24.3594 7.89325 22.4065 9.92128 20.2768 9.92128C18.1472 9.92128 16.191 7.8939 16.0045 5.26063C15.8104 2.52185 17.7115 0.599976 20.2768 0.599976C22.8421 0.599976 24.7433 2.57169 24.5491 5.26063Z' stroke='%23000' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3C/path%3E%3Cpath d='M20.2768 14.0641C16.0583 14.0641 12.0016 16.1594 10.9853 20.2401C10.8506 20.78 11.1892 21.314 11.7439 21.314H28.8103C29.3651 21.314 29.7017 20.78 29.569 20.2401C28.5527 16.0941 24.496 14.0641 20.2768 14.0641Z' stroke='%23000' stroke-width='1.2' stroke-miterlimit='10'%3E%3C/path%3E%3Cpath d='M11.4733 6.42198C11.3218 8.52445 9.74364 10.1803 8.0425 10.1803C6.34137 10.1803 4.76063 8.5251 4.61175 6.42198C4.45704 4.23471 5.99311 2.67145 8.0425 2.67145C10.0919 2.67145 11.628 4.27484 11.4733 6.42198Z' stroke='%23000' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'%3E%3C/path%3E%3Cpath d='M11.8617 14.1936C10.6933 13.6582 9.40646 13.4524 8.04257 13.4524C4.67654 13.4524 1.43351 15.1257 0.621128 18.3849C0.514322 18.816 0.784899 19.2426 1.22766 19.2426H8.49569' stroke='%23000' stroke-width='1.2' stroke-miterlimit='10' stroke-linecap='round'%3E%3C/path%3E%3C/svg%3E");
	--dpf-i-bed: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 21' fill='none'%3E%3Cpath d='M5.92773 0.25H13.2002C13.8224 0.25 14.3409 0.364294 14.7637 0.583008V0.583984C15.1942 0.808605 15.5345 1.11152 15.7891 1.49316L15.9971 1.80566L16.2051 1.49316C16.4278 1.15917 16.7163 0.885589 17.0732 0.671875L17.2305 0.583984C17.6534 0.364918 18.1722 0.25 18.7949 0.25H26.0703C27.1592 0.248394 28.0571 0.616506 28.7812 1.35352C29.5058 2.09105 29.8701 3.00759 29.8701 4.12012V8.57422L29.9717 8.64844C30.5193 9.05139 30.9533 9.59386 31.2715 10.2822C31.5935 10.9787 31.75 11.6362 31.75 12.2568V19.8711C31.7513 20.1374 31.6676 20.3409 31.5068 20.502C31.3442 20.6648 31.1441 20.7486 30.8887 20.75C30.6351 20.7514 30.4368 20.6685 30.2764 20.5039C30.115 20.3383 30.0323 20.1329 30.0322 19.8701V16.7266H1.96289V16.9766L1.96582 19.8701C1.96574 20.135 1.88203 20.3395 1.72168 20.5029C1.56105 20.6664 1.36204 20.75 1.10742 20.75C0.850887 20.7499 0.651499 20.6661 0.491211 20.5029C0.332279 20.3377 0.250079 20.1327 0.25 19.8701V12.2568C0.25 11.6345 0.406673 10.9768 0.728516 10.2822C1.04672 9.5956 1.48041 9.05321 2.02832 8.64844L2.12988 8.57324V4.12012L2.13379 3.91309C2.17513 2.8918 2.53704 2.04406 3.21582 1.35449C3.94009 0.618789 4.83843 0.25 5.92773 0.25ZM4.71875 9.36621C3.94621 9.36807 3.28656 9.63754 2.75684 10.1748C2.22687 10.7124 1.96296 11.3825 1.96289 12.167V14.9688H30.0322V12.167C30.0338 11.3842 29.7706 10.7148 29.2412 10.1758C28.7112 9.63628 28.05 9.36621 27.2754 9.36621H4.71875ZM5.63672 2.00586C5.12545 2.00586 4.68836 2.17465 4.34766 2.52148C4.00726 2.86633 3.84282 3.30799 3.84277 3.82422V7.61035H4.09277L14.8896 7.6084H15.1396V3.82422C15.1396 3.37318 15.0128 2.97868 14.752 2.65527L14.6318 2.52148C14.2927 2.17457 13.8567 2.00586 13.3457 2.00586H5.63672ZM18.6494 2.00586C18.1401 2.00586 17.7046 2.17465 17.3643 2.52051C17.0216 2.86536 16.8555 3.30724 16.8555 3.82422V7.61035H17.1055L27.9023 7.6084H28.1523V3.82422C28.1523 3.30916 27.9875 2.86771 27.6475 2.52148C27.307 2.17494 26.871 2.00596 26.3613 2.00586H18.6494Z' fill='%23000' stroke='none' stroke-width='0.5'%3E%3C/path%3E%3C/svg%3E");
	--dpf-i-size: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22' fill='none'%3E%3Cpath d='M3.98535 0.0996094H17.1348C19.28 0.0996094 21.0195 1.77369 21.0195 3.81934V8.7832C21.0195 9.14461 20.7109 9.44715 20.3232 9.44727C19.9355 9.44727 19.626 9.14469 19.626 8.7832V3.81934C19.626 2.49663 18.5044 1.42773 17.1348 1.42773H3.98535C2.61573 1.42773 1.49414 2.49663 1.49414 3.81934V16.4209C1.49414 17.7436 2.61573 18.8125 3.98535 18.8125H9.16504C9.55283 18.8125 9.8623 19.1151 9.8623 19.4766C9.86211 19.8379 9.55272 20.1396 9.16504 20.1396H3.98535C1.84017 20.1396 0.0996094 18.4665 0.0996094 16.4209V3.81934C0.0996094 1.77369 1.84017 0.0996094 3.98535 0.0996094Z' fill='%23000' stroke='none' stroke-width='0.2'%3E%3C/path%3E%3Cpath d='M8.53595 6.25958H12.8914C13.0602 6.25962 13.2251 6.32304 13.3514 6.43634L13.4031 6.4881C13.536 6.63738 13.5985 6.82487 13.5809 7.02618C13.5506 7.36682 13.2257 7.64814 12.825 7.64825H8.62384L8.79474 7.81915L20.3455 19.366L20.5164 19.5369V15.3367C20.5166 14.9417 20.7967 14.6167 21.1336 14.5818C21.3387 14.5656 21.5265 14.6242 21.6707 14.7576L21.7234 14.8104C21.8369 14.9366 21.9001 15.1015 21.9002 15.2703V19.6248C21.9002 20.8792 20.8787 21.9002 19.6238 21.9002H15.2684C15.0754 21.9001 14.8875 21.8173 14.7567 21.6717C14.6326 21.5323 14.5733 21.3598 14.5799 21.1736L14.5838 21.1307C14.6141 20.79 14.939 20.5087 15.3397 20.5086H19.5408L19.3699 20.3377L7.81915 8.79083L7.64825 8.61993V12.8875C7.64825 13.0803 7.56627 13.2684 7.42072 13.3992L7.41974 13.4002C7.27131 13.535 7.08405 13.5947 6.88165 13.577C6.54088 13.5466 6.25958 13.2216 6.25958 12.8211V8.53497C6.25962 7.28057 7.2811 6.25958 8.53595 6.25958Z' fill='%23000' stroke='none' stroke-width='0.2'%3E%3C/path%3E%3C/svg%3E");
	--dpf-i-shower: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 27' fill='none'%3E%3Cpath d='M16.4753 20.5117H16.0807V22.1867H16.4753V20.5117Z' fill='%23000' stroke='%23000' stroke-width='0.5'%3E%3C/path%3E%3Cpath d='M16.4753 24.1738H16.0807V26.1607H16.4753V24.1738Z' fill='%23000' stroke='%23000' stroke-width='0.5'%3E%3C/path%3E%3Cpath d='M13.4637 20.564L13.0825 20.4619L12.6493 22.0811L13.0305 22.1832L13.4637 20.564Z' fill='%23000' stroke='%23000' stroke-width='0.5'%3E%3C/path%3E%3Cpath d='M12.517 24.1043L12.1358 24.0023L11.6217 25.9218L12.0029 26.0238L12.517 24.1043Z' fill='%23000' stroke='%23000' stroke-width='0.5'%3E%3C/path%3E%3Cpath d='M10.3566 20.6103L10.0158 20.4139L9.17829 21.8656L9.51907 22.0619L10.3566 20.6103Z' fill='%23000' stroke='%23000' stroke-width='0.5'%3E%3C/path%3E%3Cpath d='M8.52356 23.7849L8.18278 23.5885L7.18933 25.3097L7.53011 25.5061L8.52356 23.7849Z' fill='%23000' stroke='%23000' stroke-width='0.5'%3E%3C/path%3E%3Cpath d='M23.3794 21.8597L22.5419 20.408L22.2011 20.6044L23.0386 22.0561L23.3794 21.8597Z' fill='%23000' stroke='%23000' stroke-width='0.5'%3E%3C/path%3E%3Cpath d='M25.3643 25.3039L24.3708 23.5827L24.03 23.7791L25.0235 25.5003L25.3643 25.3039Z' fill='%23000' stroke='%23000' stroke-width='0.5'%3E%3C/path%3E%3Cpath d='M19.9061 22.079L19.4729 20.4598L19.0917 20.5619L19.5249 22.1811L19.9061 22.079Z' fill='%23000' stroke='%23000' stroke-width='0.5'%3E%3C/path%3E%3Cpath d='M20.9363 25.9201L20.4222 24.0005L20.041 24.1026L20.5551 26.0221L20.9363 25.9201Z' fill='%23000' stroke='%23000' stroke-width='0.5'%3E%3C/path%3E%3Cpath d='M0.999413 0.25H13.4638C15.6722 0.251925 17.4627 2.04245 17.4646 4.25079V5.37515H18.7603C19.3899 5.37707 19.9001 5.8873 19.9001 6.51685V7.87419C23.9568 9.21615 27.0336 12.6971 27.141 16.5765H27.4625C27.8976 16.5765 28.25 16.9288 28.25 17.3639C28.25 17.7759 27.9169 18.1109 27.5049 18.1109H5.02867H5.03059C4.83229 18.1109 4.64168 18.0339 4.50114 17.8934C4.36252 17.7528 4.28358 17.5622 4.28358 17.3639C4.28358 17.156 4.36637 16.9558 4.51462 16.8075C4.66094 16.6593 4.8631 16.5765 5.07103 16.5765H5.41951C5.52733 12.697 8.60587 9.21583 12.6624 7.87421L12.6643 6.51303C12.6662 5.88732 13.1725 5.38094 13.7983 5.37517H15.094V4.24692C15.0921 3.34781 14.3624 2.6181 13.4633 2.61618H1.00085H1.00278C0.802547 2.61618 0.610014 2.53724 0.469484 2.39477C0.328934 2.25422 0.249998 2.06169 0.249998 1.8634V0.998939C0.251925 0.586922 0.585487 0.251922 0.999413 0.25ZM4.68831 17.3677C4.68831 17.462 4.72489 17.5525 4.79035 17.618C4.85774 17.6834 4.94631 17.7219 5.04064 17.7219H27.5169H27.515C27.7075 17.7142 27.8596 17.5564 27.8577 17.3638C27.8577 17.1463 27.6805 16.9711 27.463 16.9711H5.08728C4.98331 16.9691 4.88127 17.0096 4.80619 17.0827C4.7311 17.1578 4.68875 17.2579 4.68875 17.3638L4.68831 17.3677ZM5.7896 16.5783L26.766 16.5802C26.6274 11.8074 21.7815 7.66206 16.2771 7.66206C10.7746 7.66206 5.92859 11.7995 5.79009 16.5723L5.7896 16.5783ZM13.7989 5.76945C13.6025 5.76945 13.4119 5.84839 13.2713 5.98894C13.1308 6.12948 13.0519 6.31816 13.0519 6.51646V7.74097C15.1581 7.12103 17.3973 7.12103 19.5017 7.74097V6.51262C19.4998 6.10253 19.1667 5.77138 18.7566 5.76946L13.7989 5.76945ZM0.639511 1.86107V1.863C0.639511 1.95734 0.67802 2.04783 0.745403 2.11521C0.81279 2.1826 0.903276 2.2211 0.99954 2.2211H13.4639C14.5845 2.22303 15.4932 3.12987 15.4932 4.25038V5.37474H17.07V4.24649C17.0662 2.25763 15.4547 0.64616 13.4639 0.644238H1.00151H1.00344C0.805132 0.644238 0.643404 0.804038 0.643404 1.00234L0.639511 1.86107Z' fill='%23000' stroke='%23000' stroke-width='0.5'%3E%3C/path%3E%3C/svg%3E");
	--dpf-i-house: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 27' fill='none'%3E%3Cpath d='M28.5132 12.2034L24.1181 7.80834V2.73127C24.1181 1.81326 23.3742 1.06929 22.4549 1.06929C21.5376 1.06929 20.7937 1.81326 20.7937 2.73127V4.48398L17.5212 1.21137C15.9033 -0.405709 13.0902 -0.402841 11.4759 1.21429L0.486545 12.2034C-0.162182 12.8534 -0.162182 13.9052 0.486545 14.5542C1.13556 15.2041 2.18938 15.2041 2.83817 14.5542L13.8265 3.5648C14.1844 3.20871 14.8154 3.20871 15.1715 3.56375L26.1617 14.5542C26.4875 14.8792 26.9124 15.0408 27.3372 15.0408C27.7628 15.0408 28.1884 14.879 28.5133 14.5542C29.1622 13.9053 29.1622 12.8535 28.5132 12.2034Z' fill='%23000'%3E%3C/path%3E%3Cpath d='M15.0773 6.71961C14.758 6.40051 14.2411 6.40051 13.9227 6.71961L4.25646 16.383C4.10385 16.5356 4.01733 16.7438 4.01733 16.9612V24.0093C4.01733 25.6632 5.35834 27.0042 7.01218 27.0042H11.798V19.5926H17.201V27.0042H21.9869C23.6406 27.0042 24.9817 25.6632 24.9817 24.0094V16.9612C24.9817 16.7438 24.8959 16.5356 24.7425 16.383L15.0773 6.71961Z' fill='%23000'%3E%3C/path%3E%3C/svg%3E");
	--dpf-i-chev-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 23 13' fill='none'%3E%3Cpath d='M1 1L11.5 11L22 1' stroke-width='2' stroke-linecap='round' stroke='%23000'%3E%3C/path%3E%3C/svg%3E");
	--dpf-i-minus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 2' fill='none'%3E%3Cpath d='M-1.95503e-05 1.67994V-5.72205e-05H11.214V1.67994H-1.95503e-05Z' fill='%23000'%3E%3C/path%3E%3C/svg%3E");
	--dpf-i-close: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 29' fill='none'%3E%3Cpath d='M2.12141 0.707108L29.1214 27.7071' stroke-width='2' stroke='%23000'%3E%3C/path%3E%3Cpath d='M27.7072 0.707108L0.707198 27.7071' stroke-width='2' stroke='%23000'%3E%3C/path%3E%3C/svg%3E");
	--dpf-i-plus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M7 0v14M0 7h14' stroke='%23000' stroke-width='1.7'/%3E%3C/svg%3E");
	--dpf-i-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3.2 6-7.4' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	--dpf-i-hanger: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 34'%3E%3Cpath d='M3 12.5h16a1.5 1.5 0 0 1 1.5 1.5v17A1.5 1.5 0 0 1 19 32.5H3A1.5 1.5 0 0 1 1.5 31V14A1.5 1.5 0 0 1 3 12.5z' fill='none' stroke='%23000' stroke-width='2'/%3E%3Ccircle cx='11' cy='7' r='5' fill='none' stroke='%23000' stroke-width='2'/%3E%3Cpath d='M6 26h10M6 22h10' stroke='%23000' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
	--dpf-i-moon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 14.5A8.5 8.5 0 1 1 9.5 4a7 7 0 0 0 10.5 10.5z' fill='none' stroke='%23000' stroke-width='1.4' stroke-linejoin='round'/%3E%3C/svg%3E");
	--dpf-i-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2 10L10 2M4 2h6v6' fill='none' stroke='%23000' stroke-width='1.2'/%3E%3C/svg%3E");
	--dpf-i-share: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='15' cy='4.5' r='2' fill='none' stroke='%23000' stroke-width='1.4'/%3E%3Ccircle cx='5' cy='10' r='2' fill='none' stroke='%23000' stroke-width='1.4'/%3E%3Ccircle cx='15' cy='15.5' r='2' fill='none' stroke='%23000' stroke-width='1.4'/%3E%3Cpath d='M6.7 8.9l6.6-3.4M6.7 11.1l6.6 3.4' stroke='%23000' stroke-width='1.4'/%3E%3C/svg%3E");
	--dpf-i-clock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='8' fill='none' stroke='%23000' stroke-width='1.4'/%3E%3Cpath d='M10 5.5V10l3 2' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round'/%3E%3C/svg%3E");
	--dpf-i-tag: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M11 3.5H6.5a2 2 0 0 0-2 2V10c0 .4.16.78.44 1.06l6 6c.58.58 1.53.58 2.12 0l4.5-4.5c.58-.58.58-1.53 0-2.12l-6-6A1.5 1.5 0 0 0 11 3.5z' fill='none' stroke='%23000' stroke-width='1.4' stroke-linejoin='round'/%3E%3Ccircle cx='8.25' cy='7.75' r='1'/%3E%3C/svg%3E");
}

/* ==========================================================================
   Base: page background, typography, content width
   ========================================================================== */
body.dp-bk,
body.dp-bk #page,
body.dp-bk .site-content,
body.dp-bk #primary,
body.dp-bk .site-main,
body.dp-bk article.page {
	background-color: var(--dpf-beige);
}

body.dp-bk .site-content > .ast-container {
	max-width: none;
	padding-left: 0;
	padding-right: 0;
}

/* Full-bleed parts (villa/premium hero: margin calc(50% - 50vw)) use 100vw, which
   counts the scrollbar on desktop browsers — 15px too wide, a horizontal scrollbar.
   clip (not hidden) cuts that off without making a scroll box, so the sticky booking
   summary keeps working. */
body.dp-bk #primary {
	overflow-x: clip;
}

body.dp-bk #primary,
body.dp-bk .site-main,
body.dp-bk article.page,
body.dp-bk .entry-content {
	margin: 0;
	padding: 0;
}

/* Astra's page title is switched off in PHP; this covers a cached/other header. */
body.dp-bk .entry-header {
	display: none;
}

body.dp-bk .entry-content {
	color: var(--dpf-navy);
	font-family: var(--dpf-font);
	font-weight: 400;
	font-size: 16px;
	line-height: 1.35;
}

body.dp-bk .entry-content :where(p, li, span, label, input, select, textarea, button, a, small, em, strong, h1, h2, h3, h4) {
	font-family: var(--dpf-font);
}

body.dp-bk .entry-content > *:last-child {
	margin-bottom: 0;
}

/* Visually hidden but read by screen readers. */
body.dp-bk .dpf-sr {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* The plugin's JS shows/hides panels, messages and buttons with the `hidden`
   attribute. Any `display:` rule here with a stronger selector beats the browser's
   own [hidden] rule and shows the element anyway (it kept "mostra di più" on screen
   while results were still loading), so hidden always wins on these pages. */
body.dp-bk [hidden] {
	display: none !important;
}

/* Icon element: a mask in currentColor. */
body.dp-bk .dpf-icon {
	display: inline-block;
	flex-shrink: 0;
	width: 24px;
	height: 24px;
	background-color: currentColor;
	-webkit-mask: var(--dpf-icon-url) center / contain no-repeat;
	mask: var(--dpf-icon-url) center / contain no-repeat;
}

/* ==========================================================================
   Shared components
   ========================================================================== */

/* Big uppercase Heavy title (VERIFICA DISPONIBILITÀ, CONFERMA PRENOTAZIONE…) */
body.dp-bk .dpf-title,
body.dp-bk .entry-content h1.dpf-title {
	margin: 0;
	color: var(--dpf-navy);
	font-family: var(--dpf-font) !important;
	font-size: 40px !important;
	font-weight: 600 !important;
	line-height: 1.05 !important;
	letter-spacing: -0.4px;
	text-transform: uppercase;
	overflow-wrap: anywhere;
}

/* Section title (RIEPILOGO PRENOTAZIONE, SELEZIONA TARIFFA, DOTAZIONI…) */
body.dp-bk .dpf-h2,
body.dp-bk .entry-content h2.dpf-h2,
body.dp-bk .entry-content h3.dpf-h2 {
	margin: 0 0 16px;
	color: var(--dpf-navy);
	font-family: var(--dpf-font) !important;
	font-size: 20px !important;
	font-weight: 600 !important;
	line-height: 1.15 !important;
	letter-spacing: -0.2px;
	text-transform: uppercase;
}

/* Pill buttons: navy (filled), outline (indietro), lilac (continua prenotazione). */
body.dp-bk .dpf-btn,
body.dp-bk .entry-content a.dpf-btn,
body.dp-bk .entry-content button.dpf-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 30px;
	margin: 0;
	padding: 3px 18px 2px;
	border: 2px solid var(--dpf-navy);
	border-radius: 999px;
	background: var(--dpf-navy);
	color: var(--dpf-lilac);
	font-family: var(--dpf-font);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.2;
	text-align: center;
	text-decoration: none !important;
	text-transform: none;
	letter-spacing: 0;
	box-shadow: none;
	cursor: pointer;
	transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

body.dp-bk .dpf-btn:hover,
body.dp-bk .dpf-btn:focus-visible,
body.dp-bk .entry-content a.dpf-btn:hover,
body.dp-bk .entry-content button.dpf-btn:hover {
	background: #162c3c;
	border-color: #162c3c;
	color: var(--dpf-white);
}

body.dp-bk .dpf-btn--outline,
body.dp-bk .entry-content a.dpf-btn--outline,
body.dp-bk .entry-content button.dpf-btn--outline {
	background: transparent;
	color: var(--dpf-navy);
	font-weight: 600;
}

body.dp-bk .dpf-btn--outline:hover,
body.dp-bk .entry-content a.dpf-btn--outline:hover,
body.dp-bk .entry-content button.dpf-btn--outline:hover {
	background: var(--dpf-navy);
	color: var(--dpf-lilac);
}

body.dp-bk .dpf-btn--lilac,
body.dp-bk .entry-content a.dpf-btn--lilac,
body.dp-bk .entry-content button.dpf-btn--lilac {
	background: var(--dpf-lilac);
	border-color: var(--dpf-lilac);
	color: var(--dpf-navy);
	font-weight: 600;
}

body.dp-bk .dpf-btn--lilac:hover,
body.dp-bk .entry-content a.dpf-btn--lilac:hover,
body.dp-bk .entry-content button.dpf-btn--lilac:hover {
	background: var(--dpf-mauve);
	border-color: var(--dpf-mauve);
	color: var(--dpf-white);
}

body.dp-bk .dpf-btn--wide {
	width: 100%;
	min-height: 40px;
	font-size: 20px;
}

body.dp-bk .dpf-btn[disabled],
body.dp-bk .dpf-btn.is-disabled {
	opacity: .5;
	cursor: not-allowed;
}

/* indietro / continua prenotazione row */
body.dp-bk .dpf-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 32px;
}

/* White pill fields (inputs/selects in lilac panels) */
body.dp-bk .dpf-pill-field,
body.dp-bk .entry-content .dpf-pill-field {
	display: block;
	width: 100%;
	height: 36px;
	margin: 0;
	padding: 0 18px;
	border: 0;
	border-radius: 18px;
	background-color: var(--dpf-white);
	color: var(--dpf-navy);
	font-family: var(--dpf-font);
	font-size: 15px;
	font-weight: 400;
	line-height: 36px;
	box-shadow: none;
	outline: none;
	-webkit-appearance: none;
	appearance: none;
}

body.dp-bk .dpf-pill-field::placeholder {
	color: var(--dpf-navy);
	opacity: 1;
}

body.dp-bk .dpf-pill-field:focus,
body.dp-bk .dpf-pill-field:focus-visible {
	box-shadow: 0 0 0 2px var(--dpf-navy);
}

/* Inline field errors: daplace-stripe.js adds .has-error on the field's wrapper
   and a .daplace-field__error message under it after a failed submit. */
body.dp-bk .has-error .dpf-pill-field:not(.dpf-phone__prefix),
body.dp-bk .has-error .dpf-pill-field:not(.dpf-phone__prefix):focus {
	box-shadow: 0 0 0 2px var(--dpf-error);
}

body.dp-bk .entry-content .daplace-field__error {
	margin: 6px 18px 0;
	color: var(--dpf-error);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.3;
}

body.dp-bk .entry-content .daplace-field__error[hidden] {
	display: none;
}

body.dp-bk .daplace-terms-row.has-error .daplace-toggle__track {
	box-shadow: 0 0 0 2px var(--dpf-error);
}

body.dp-bk .entry-content .daplace-terms-row .daplace-field__error {
	margin-left: 56px;
}

/* Lilac panel (full-bleed on mobile, rounded) */
body.dp-bk .dpf-panel {
	margin: 0;
	padding: 28px var(--dpf-gutter);
	border-radius: var(--dpf-radius-panel);
	background: var(--dpf-lilac);
	color: var(--dpf-navy);
}

/* Gold divider */
body.dp-bk .dpf-rule {
	height: 0;
	margin: 16px 0;
	border: 0;
	border-top: 3px solid var(--dpf-gold);
	background: none;
}

/* Underlined text links (the site's Additional CSS removes underlines globally). */
body.dp-bk .entry-content a.dpf-link,
body.dp-bk .entry-content .dpf-link {
	color: inherit;
	text-decoration: underline !important;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

/* Spinner in the Figma colours */
body.dp-bk .daplace-spinner {
	border-color: rgba(33, 57, 77, .2);
	border-top-color: var(--dpf-navy);
}

/* Error / notice boxes */
body.dp-bk .entry-content .daplace-error,
body.dp-bk .entry-content .daplace-notice,
body.dp-bk .entry-content .daplace-payment-notice {
	margin: 16px 0;
	padding: 12px 16px;
	border: 0;
	border-radius: var(--dpf-radius-panel);
	background: var(--dpf-white);
	color: var(--dpf-error);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.35;
}

body.dp-bk .entry-content .daplace-notice {
	color: var(--dpf-navy);
}

/* ==========================================================================
   Step indicator: the Figma's stepper (Guest Portal frames 144-147) — numbered
   circles joined by a line, lilac fill on the current step, lilac outline on the
   others, a check on the done ones. Labels under the circles from tablet up.
   ========================================================================== */
body.dp-bk .daplace-step-indicator.dpf-steps {
	--dpf-step: 40px;
	display: flex;
	align-items: flex-start;
	max-width: var(--dpf-max); /* the page's content width: circle 1 starts at the logo's */
	margin: 0 auto;           /* left edge, circle 4 ends at the burger's right edge */
	padding: 36px var(--dpf-gutter) 34px; /* bottom: room for the labels under the circles */
	border: 0;
	background: none;
}

/* Each step is just its circle; the label hangs under it (aligned to the start under
   the first circle, to the end under the last, centred under the others), so the
   lines between the circles can share the remaining width evenly. */
body.dp-bk .dpf-steps .daplace-step {
	position: relative;
	flex: 0 0 auto;
	display: block;
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
}

body.dp-bk .dpf-steps .dpf-steps__line {
	flex: 1 1 auto;
	height: 1px;
	margin: calc(var(--dpf-step) / 2) 12px 0;
	background: var(--dpf-lilac);
}

body.dp-bk .dpf-steps .dpf-steps__line.is-done {
	background: var(--dpf-navy);
}

body.dp-bk .dpf-steps .daplace-step__num {
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--dpf-step);
	height: var(--dpf-step);
	border: 1.5px solid var(--dpf-lilac);
	border-radius: 50%;
	background: transparent;
	color: var(--dpf-navy);
	font-size: 17px;
	font-weight: 600;
	line-height: 1;
}

body.dp-bk .dpf-steps .daplace-step--active .daplace-step__num {
	border-color: var(--dpf-lilac);
	background: var(--dpf-lilac);
}

body.dp-bk .dpf-steps .daplace-step--done .daplace-step__num {
	border-color: var(--dpf-navy);
	font-size: 14px;
}

body.dp-bk .dpf-steps .daplace-step__label {
	position: absolute;
	top: calc(100% + 8px);
	left: 50%;
	transform: translateX(-50%);
	color: var(--dpf-navy);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.2;
	white-space: nowrap;
	opacity: .75;
}

body.dp-bk .dpf-steps .daplace-step:first-child .daplace-step__label {
	left: 0;
	transform: none;
}

body.dp-bk .dpf-steps .daplace-step:last-child .daplace-step__label {
	right: 0;
	left: auto;
	transform: none;
}

body.dp-bk .dpf-steps .daplace-step--active .daplace-step__label {
	font-weight: 600;
	opacity: 1;
}

/* Phones: circles only (as in the Figma); the labels stay for screen readers. */
@media (max-width: 767px) {
	body.dp-bk .daplace-step-indicator.dpf-steps {
		--dpf-step: 34px;
		max-width: 300px;
		padding-top: 28px;
		padding-bottom: 4px;
	}

	body.dp-bk .dpf-steps .daplace-step__label {
		position: absolute;
		width: 1px;
		height: 1px;
		margin: -1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		transform: none;
	}

	body.dp-bk .dpf-steps .dpf-steps__line {
		margin-inline: 8px;
	}
}

/* ==========================================================================
   Results page (Figma frame 142 after a search, Listing without dates)
   ========================================================================== */

/* The shortcode wraps the grid in <div style="margin-top:32px">. */
body.dp-bk--results .dpf-results-top + div {
	margin-top: 0 !important;
}

body.dp-bk .dpf-results-hero__text {
	padding: 45px var(--dpf-gutter) 34px;
}

body.dp-bk .entry-content .dpf-results-hero__title {
	max-width: 360px;
	margin: 0 0 22px;
	color: var(--dpf-navy);
	font-family: var(--dpf-serif) !important;
	font-size: 43px !important;
	font-weight: 400 !important;
	line-height: 1.03 !important;
	letter-spacing: -0.3px;
	text-transform: none;
}

body.dp-bk .entry-content .dpf-results-hero__title em {
	font-family: var(--dpf-serif) !important;
	font-style: italic;
}

body.dp-bk .entry-content .dpf-results-hero__lead {
	max-width: 260px;
	margin: 0;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.12;
	text-transform: uppercase;
}

body.dp-bk .dpf-results-hero__media {
	height: 262px;
	overflow: hidden;
}

body.dp-bk .dpf-results-hero__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

body.dp-bk .dpf-results-bar {
	position: relative;
	z-index: 2;
	padding: 0 var(--dpf-gutter);
}

body.dp-bk .entry-content .dpf-results-heading {
	margin: 60px 0 26px;
	color: var(--dpf-navy);
	font-family: var(--dpf-font) !important;
	font-size: 21px !important;
	font-weight: 600 !important;
	line-height: 1.07 !important;
	text-transform: uppercase;
	max-width: 200px;
}

/* "vedi disponibilità" pill: opens the site's search widget (.dp-search-trigger) */
body.dp-bk .entry-content button.dpf-search-pill {
	display: flex;
	align-items: center;
	gap: 16px;
	width: 100%;
	height: 55px;
	margin: 0;
	padding: 0 22px;
	border: 2px solid var(--dpf-navy);
	border-radius: 999px;
	background: var(--dpf-white);
	color: var(--dpf-navy);
	font-size: 18px;
	font-weight: 400;
	line-height: 1;
	text-align: left;
	text-transform: none;
	box-shadow: none;
	cursor: pointer;
}

body.dp-bk .entry-content button.dpf-search-pill:hover,
body.dp-bk .entry-content button.dpf-search-pill:focus-visible {
	background: var(--dpf-white);
	color: var(--dpf-navy);
	box-shadow: 0 0 0 2px var(--dpf-lilac);
}

body.dp-bk .dpf-search-pill__icon {
	width: 24px;
	height: 24px;
	flex-shrink: 0;
	background-color: currentColor;
	-webkit-mask: var(--dpf-i-search) center / contain no-repeat;
	mask: var(--dpf-i-search) center / contain no-repeat;
}

body.dp-bk .dpf-results-top.is-search .dpf-search-pill {
	margin-top: -36px;
}

body.dp-bk .dpf-results-top.is-search .dpf-filter-toggle {
	margin-top: 26px;
}

/* Active search chips */
body.dp-bk .dpf-chips-row {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px;
	margin-top: 30px;
}

body.dp-bk .dpf-chips-row[hidden] {
	display: none;
}

body.dp-bk .entry-content ul.dpf-chips {
	margin: 0;
	padding: 0;
	list-style: none;
}

body.dp-bk .entry-content .dpf-chip {
	margin: 0;
	padding: 0;
	font-size: 20px;
	font-weight: 400;
	line-height: 35px;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
}

body.dp-bk .entry-content .dpf-chip::before {
	content: '> ';
}

body.dp-bk .entry-content button.dpf-chips-edit {
	flex-shrink: 0;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--dpf-navy);
	font-size: 20px;
	font-weight: 600;
	line-height: 35px;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
	text-transform: none;
	box-shadow: none;
	cursor: pointer;
}

body.dp-bk .entry-content button.dpf-chips-edit:hover {
	background: none;
	color: var(--dpf-mauve);
}

/* Filter button (sliders icon) */
body.dp-bk .entry-content button.dpf-filter-toggle {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 32px 0 0;
	padding: 4px 4px 4px 0;
	border: 0;
	background: none;
	color: var(--dpf-navy);
	font-size: 16px;
	font-weight: 500;
	line-height: 1;
	text-transform: none;
	box-shadow: none;
	cursor: pointer;
}

body.dp-bk .entry-content button.dpf-filter-toggle:hover {
	background: none;
	color: var(--dpf-mauve);
}

body.dp-bk .dpf-filter-toggle__icon {
	width: 25px;
	height: 27px;
	background-color: currentColor;
	-webkit-mask: var(--dpf-i-filter) center / contain no-repeat;
	mask: var(--dpf-i-filter) center / contain no-repeat;
}

body.dp-bk .dpf-filter-toggle__label {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
}

body.dp-bk .dpf-filter-toggle[aria-expanded="true"] .dpf-filter-toggle__icon {
	-webkit-mask-image: var(--dpf-i-close);
	mask-image: var(--dpf-i-close);
	width: 20px;
	height: 20px;
	margin: 3px 5px 4px 0;
}

/* Filter panel: the plugin's search form + its sidebar filters (closed by default) */
body.dp-bk--results .dpf-refine,
body.dp-bk--results .daplace-results-sidebar.dpf-refine-filters {
	display: none;
}

html.dpf-refine-open body.dp-bk--results .dpf-refine {
	display: block;
	margin: 18px var(--dpf-gutter) 0;
	padding: 24px var(--dpf-gutter) 4px;
	border-radius: var(--dpf-radius-panel) var(--dpf-radius-panel) 0 0;
	background: var(--dpf-lilac);
}

html.dpf-refine-open body.dp-bk--results .daplace-results-sidebar.dpf-refine-filters:not([hidden]) {
	display: flex;
	position: static;
	width: auto;
	margin: 0 var(--dpf-gutter);
	padding: 8px var(--dpf-gutter) 24px;
	border-radius: 0 0 var(--dpf-radius-panel) var(--dpf-radius-panel);
	background: var(--dpf-lilac);
}

html.dpf-refine-open body.dp-bk--results .daplace-results-sidebar.dpf-refine-filters[hidden] {
	display: none;
}

html.dpf-refine-open body.dp-bk--results .dpf-refine:has(+ * .daplace-results-sidebar[hidden]) {
	border-radius: var(--dpf-radius-panel);
	padding-bottom: 24px;
}

body.dp-bk--results .daplace-search-widget {
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
}

body.dp-bk .daplace-search-form {
	gap: 12px;
}

body.dp-bk .daplace-search-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	align-items: end;
}

body.dp-bk .daplace-search-row .daplace-field {
	flex: none;
	gap: 6px;
	min-width: 0;
}

body.dp-bk .daplace-search-row .daplace-field--dates {
	grid-column: 1 / -1;
}

body.dp-bk .entry-content .daplace-search-row .daplace-field label,
body.dp-bk .entry-content .daplace-results-sidebar .daplace-filter-title {
	margin: 0 0 0 18px !important;
	color: var(--dpf-navy) !important;
	font-family: var(--dpf-font) !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	letter-spacing: 0 !important;
	text-transform: lowercase !important;
}

body.dp-bk .entry-content .daplace-results-sidebar .daplace-filter-title {
	margin: 0 0 10px !important;
}

body.dp-bk .entry-content .daplace-search-row input,
body.dp-bk .entry-content .daplace-search-row select,
body.dp-bk .entry-content .daplace-price-input {
	height: 36px;
	padding: 0 18px;
	border: 0;
	border-radius: 18px;
	background-color: var(--dpf-white);
	color: var(--dpf-navy);
	font-size: 15px;
	line-height: 36px;
	box-shadow: none;
}

body.dp-bk .entry-content .daplace-search-row select {
	padding-right: 38px;
	background-position: right 16px center;
}

body.dp-bk .entry-content .daplace-search-row input:focus,
body.dp-bk .entry-content .daplace-search-row select:focus,
body.dp-bk .entry-content .daplace-price-input:focus {
	box-shadow: 0 0 0 2px var(--dpf-navy);
}

body.dp-bk .entry-content .daplace-search-row .daplace-field--submit .daplace-btn {
	width: 100%;
	height: 36px;
	padding: 0 18px;
	border: 2px solid var(--dpf-navy);
	border-radius: 18px;
	background: var(--dpf-navy);
	color: var(--dpf-lilac);
	font-size: 16px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0;
	text-transform: lowercase;
}

body.dp-bk .daplace-search-error {
	color: var(--dpf-error);
	font-size: 14px;
	font-weight: 500;
}

body.dp-bk .daplace-results-sidebar .daplace-filter-group {
	padding: 0;
	border: 0;
}

body.dp-bk .daplace-results-sidebar {
	gap: 18px;
}

body.dp-bk .daplace-filter-checkboxes {
	flex-direction: row;
	flex-wrap: wrap;
	gap: 8px;
}

body.dp-bk .entry-content .daplace-filter-checkbox {
	position: relative;
	gap: 0;
	font-size: 15px;
	color: var(--dpf-navy);
}

body.dp-bk .daplace-filter-checkbox input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
}

body.dp-bk .daplace-filter-checkbox span {
	display: inline-block;
	padding: 6px 14px 5px;
	border: 2px solid var(--dpf-white);
	border-radius: 999px;
	background: var(--dpf-white);
	line-height: 1.2;
}

body.dp-bk .daplace-filter-checkbox input:checked + span {
	border-color: var(--dpf-navy);
	background: var(--dpf-navy);
	color: var(--dpf-lilac);
}

body.dp-bk .daplace-filter-checkbox input:focus-visible + span {
	box-shadow: 0 0 0 2px var(--dpf-navy);
}

/* The plugin sizes these as `width:0; flex:1` (they fill a sidebar there); in this
   shrink-to-fit panel that left them 28px wide with no room for the min/max values
   the plugin puts in their placeholders. */
body.dp-bk .entry-content .daplace-price-input {
	flex: 0 0 auto;
	width: 112px;
	padding: 0 14px;
	text-align: center;
	-moz-appearance: textfield;
}

body.dp-bk .entry-content .daplace-price-input::-webkit-outer-spin-button,
body.dp-bk .entry-content .daplace-price-input::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

body.dp-bk .entry-content .daplace-price-input::placeholder {
	color: var(--dpf-navy);
	opacity: .6;
}

body.dp-bk .daplace-price-sep {
	color: var(--dpf-navy);
}

body.dp-bk .entry-content .daplace-btn--link {
	padding: 10px 0 0;
	border: 0;
	background: none;
	color: var(--dpf-navy);
	font-size: 14px;
	font-weight: 500;
	text-decoration: underline;
	text-transform: lowercase;
	box-shadow: none;
}

/* Results list */
body.dp-bk--results .daplace-results {
	margin: 0;
	padding: 0 0 64px;
}

body.dp-bk--results .daplace-results-layout {
	display: block;
}

body.dp-bk--results .daplace-results-main {
	padding: 22px var(--dpf-gutter) 0;
}

body.dp-bk .entry-content .daplace-results-count {
	margin: 0 0 16px;
	color: var(--dpf-navy);
	font-size: 15px;
	font-weight: 400;
}

body.dp-bk .daplace-results__loading,
body.dp-bk .daplace-results__empty,
body.dp-bk .daplace-results__error,
body.dp-bk .daplace-no-results {
	padding: 40px 0;
	color: var(--dpf-navy);
	font-size: 18px;
	text-align: center;
}

body.dp-bk .daplace-results__error {
	color: var(--dpf-error);
}

body.dp-bk .daplace-results__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 24px;
}

body.dp-bk .daplace-results__load-more {
	margin-top: 32px;
	color: var(--dpf-navy);
	font-size: 15px;
}

/* "mostra di più" (frame 142): the plugin loads the next page when its loader comes into
   view, so the loader stays out of view until the button opens it. */
body.dp-bk .dpf-more:not(.is-open) .daplace-results__load-more {
	display: none !important;
}

body.dp-bk .dpf-more__btn,
body.dp-bk .entry-content button.dpf-more__btn {
	display: block;
	width: 100%;
	min-height: 30px;
	margin-top: 52px;
	color: var(--dpf-white);
	font-size: 16px;
	font-weight: 600 !important;
}

body.dp-bk .dpf-more__btn[hidden] {
	display: none;
}

/* Hotel / premium banners after the list (global block "banner", which has its own
   65px top padding): 130px under the button, as in the Figma. */
body.dp-bk .dpf-results-banners {
	margin-top: 65px;
}

/* Property card */
body.dp-bk .daplace-results__grid .daplace-property-card {
	display: flex;
	flex-direction: column;
	gap: 0;
	min-width: 0;
	padding: 0;
	border: 0;
	border-radius: var(--dpf-radius-card);
	background: var(--dpf-white);
	box-shadow: none;
	overflow: hidden;
	transform: none;
}

body.dp-bk .daplace-results__grid .daplace-property-card:hover {
	background: var(--dpf-white);
	box-shadow: 0 10px 30px rgba(33, 57, 77, .12);
	transform: none;
}

body.dp-bk .daplace-results__grid .daplace-property-card::before {
	display: none;
}

body.dp-bk .daplace-results__grid .daplace-property-card .daplace-room-card__image {
	width: 100%;
	max-width: none;
	height: 233px;
	aspect-ratio: auto;
	border-radius: 0;
	background: var(--dpf-lilac);
}

body.dp-bk .daplace-results__grid .daplace-property-card:hover .daplace-slider__img {
	transform: none;
}

/* Type icon on the photo: house (apartments, villas), door hanger (guest houses, hotels) */
body.dp-bk .daplace-property-card[data-property-type] .daplace-room-card__image::after {
	content: '';
	position: absolute;
	left: 22px;
	bottom: 18px;
	z-index: 3;
	width: 29px;
	height: 27px;
	background-color: var(--dpf-white);
	-webkit-mask: var(--dpf-i-house) center / contain no-repeat;
	mask: var(--dpf-i-house) center / contain no-repeat;
	filter: drop-shadow(0 1px 2px rgba(0, 0, 0, .25));
	pointer-events: none;
}

body.dp-bk .daplace-property-card[data-property-type=""] .daplace-room-card__image::after {
	display: none;
}

body.dp-bk .daplace-property-card[data-property-type="guesthouse"] .daplace-room-card__image::after,
body.dp-bk .daplace-property-card[data-property-type="hotel"] .daplace-room-card__image::after {
	width: 20px;
	height: 31px;
	-webkit-mask-image: var(--dpf-i-hanger);
	mask-image: var(--dpf-i-hanger);
}

body.dp-bk .daplace-property-card .daplace-slider__dots {
	left: auto;
	right: 18px;
	bottom: 18px;
	gap: 5px;
}

body.dp-bk .daplace-property-card .daplace-slider__dot {
	width: 6px;
	height: 6px;
	background: rgba(255, 255, 255, .6);
}

body.dp-bk .daplace-property-card .daplace-slider__dot.is-active {
	background: var(--dpf-white);
	transform: none;
}

body.dp-bk .entry-content .daplace-property-card .daplace-slider__arrow {
	width: 32px;
	height: 32px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, .85);
	color: var(--dpf-navy);
	font-size: 22px;
	box-shadow: none;
}

@media (hover: none) {
	body.dp-bk .daplace-property-card .daplace-slider__arrow {
		display: none;
	}
}

body.dp-bk .daplace-results__grid .daplace-property-card__body {
	display: flex;
	flex-direction: column;
	gap: 0;
	padding: 38px 22px 0;
}

body.dp-bk .entry-content .daplace-property-card__name {
	order: 1;
	margin: 0;
	color: var(--dpf-lilac);
	font-family: var(--dpf-font) !important;
	font-size: 23px !important;
	font-weight: 600 !important;
	line-height: 1.05 !important;
	letter-spacing: -0.2px;
	text-transform: uppercase;
}

body.dp-bk .entry-content .daplace-property-card__name a,
body.dp-bk .entry-content .daplace-property-card__name a:hover {
	color: inherit;
	text-decoration: none;
}

body.dp-bk .entry-content .daplace-property-card__type {
	order: 2;
	margin: 2px 0 0;
	color: var(--dpf-navy);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: 0;
	text-transform: lowercase;
}

body.dp-bk .entry-content .daplace-property-card__address {
	order: 3;
	display: block;
	margin: 18px 0 0;
	color: var(--dpf-navy);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.3;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

body.dp-bk .daplace-property-card__address::before {
	display: none;
}

body.dp-bk .entry-content .daplace-property-card__address:empty {
	display: none;
}

body.dp-bk .entry-content .daplace-property-card__desc {
	order: 4;
	margin: 18px 0 0;
	color: var(--dpf-navy);
	font-size: 18px;
	font-style: normal;
	font-weight: 400;
	line-height: 1.25;
}

body.dp-bk .daplace-results__grid .daplace-room-card__meta {
	order: 5;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px 18px;
	margin: 30px 0 0;
	padding: 0;
	border: 0;
}

body.dp-bk .daplace-results__grid .daplace-room-card__meta:empty {
	display: none;
}

body.dp-bk .entry-content .daplace-results__grid .daplace-meta-item {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	color: var(--dpf-navy);
	font-size: 18px;
	font-weight: 400;
	line-height: 1.2;
}

body.dp-bk .daplace-results__grid .daplace-meta-item.dpf-meta--rooms::before,
body.dp-bk .daplace-results__grid .daplace-meta-item.dpf-meta--nights::before {
	content: '';
	width: 30px;
	height: 20px;
	flex-shrink: 0;
	background-color: currentColor;
	-webkit-mask: var(--dpf-i-bed) center / contain no-repeat;
	mask: var(--dpf-i-bed) center / contain no-repeat;
}

body.dp-bk .daplace-results__grid .daplace-meta-item.dpf-meta--nights::before {
	width: 22px;
	height: 22px;
	-webkit-mask-image: var(--dpf-i-moon);
	mask-image: var(--dpf-i-moon);
}

body.dp-bk .entry-content .daplace-results__grid .daplace-meta-item--cin {
	flex-basis: 100%;
	font-size: 12px;
	letter-spacing: .02em;
	opacity: .75;
}

body.dp-bk .daplace-results__grid .daplace-property-card__price-col {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 6px 10px;
	min-width: 0;
	margin: 0;
	padding: 30px 22px 22px;
	text-align: left;
}

body.dp-bk .entry-content .daplace-results__grid .daplace-property-card__price-col .daplace-price-total {
	display: block;
	flex-basis: 100%;
	margin: 0;
	color: var(--dpf-navy);
	font-size: 12px;
	line-height: 1.2;
	text-transform: lowercase;
}

body.dp-bk .entry-content .daplace-property-card__price {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	padding: 2px 14px 1px;
	border: 2px solid var(--dpf-navy);
	border-radius: 999px;
	color: var(--dpf-navy);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.1;
	text-decoration: none;
	white-space: nowrap;
}

body.dp-bk .entry-content .daplace-property-card__contact-hint {
	display: none;
}

body.dp-bk .entry-content a.dpf-card-cta {
	position: relative;
	z-index: 2;
	margin-left: auto;
	padding: 3px 26px 2px;
}

@media (min-width: 600px) {
	body.dp-bk .daplace-results__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 768px) {
	body.dp-bk--results .dpf-results-top {
		max-width: var(--dpf-max);
		margin: 0 auto;
		padding: 0 var(--dpf-gutter);
	}

	body.dp-bk .dpf-results-hero {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
		align-items: center;
		gap: 40px;
		padding-top: 48px;
	}

	body.dp-bk .dpf-results-hero__text {
		padding: 0;
	}

	body.dp-bk .entry-content .dpf-results-hero__title {
		max-width: 520px;
		font-size: 56px !important;
	}

	body.dp-bk .entry-content .dpf-results-hero__lead {
		max-width: 380px;
		font-size: 17px;
	}

	body.dp-bk .dpf-results-hero__media {
		height: 380px;
		border-radius: var(--dpf-radius-card);
	}

	body.dp-bk .dpf-results-bar {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 20px 32px;
		padding: 0;
	}

	body.dp-bk .entry-content .dpf-results-heading {
		flex-basis: 100%;
		max-width: none;
		margin: 56px 0 0;
		font-size: 28px !important;
	}

	body.dp-bk .entry-content button.dpf-search-pill,
	body.dp-bk .dpf-results-top.is-search .dpf-search-pill {
		width: 420px;
		max-width: 100%;
		margin-top: 32px;
	}

	body.dp-bk .dpf-results-top.is-browse .dpf-search-pill {
		margin-top: 0;
	}

	body.dp-bk .dpf-chips-row {
		flex: 1 1 auto;
		align-items: center;
		justify-content: flex-start;
		gap: 24px;
		margin-top: 32px;
	}

	body.dp-bk .entry-content ul.dpf-chips {
		display: flex;
		flex-wrap: wrap;
		gap: 0 24px;
	}

	body.dp-bk .entry-content button.dpf-filter-toggle {
		margin: 32px 0 0 auto;
	}

	body.dp-bk .dpf-results-top.is-browse .dpf-filter-toggle {
		margin-top: 0;
	}

	body.dp-bk .dpf-filter-toggle__label {
		position: static;
		width: auto;
		height: auto;
		overflow: visible;
		clip: auto;
	}

	html.dpf-refine-open body.dp-bk--results .dpf-refine {
		margin: 24px 0 0;
		padding: 28px 28px 8px;
	}

	body.dp-bk .daplace-search-row {
		grid-template-columns: 2fr 1.2fr 1fr 1fr;
	}

	body.dp-bk .daplace-search-row .daplace-field--dates {
		grid-column: auto;
	}

	body.dp-bk--results .daplace-results {
		max-width: var(--dpf-max);
		margin: 0 auto;
		padding: 0 var(--dpf-gutter) 80px;
	}

	html.dpf-refine-open body.dp-bk--results .daplace-results-sidebar.dpf-refine-filters:not([hidden]) {
		flex-direction: row;
		flex-wrap: wrap;
		gap: 24px 48px;
		margin: 0;
		padding: 12px 28px 28px;
	}

	body.dp-bk--results .daplace-results-main {
		padding: 40px 0 0;
	}
}

@media (min-width: 1100px) {
	body.dp-bk .daplace-results__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 32px 24px;
	}
}

/* ==========================================================================
   Property page (Figma frame 4; frame 8 availability; frame 5 rates)
   ========================================================================== */
body.dp-bk .daplace-property-detail-wrap.dpf-prop {
	max-width: var(--dpf-max);
	margin: 0 auto;
	padding: 0 0 72px;
}

body.dp-bk .entry-content a.dpf-back,
body.dp-bk .entry-content a.daplace-back-link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 18px var(--dpf-gutter) 0;
	color: var(--dpf-navy);
	font-size: 15px;
	font-weight: 400;
	letter-spacing: 0;
	text-decoration: none;
	text-transform: none; /* a text link in sentence case ("Torna ai risultati"); lowercase is the buttons' style */
	opacity: .85;
}

body.dp-bk .entry-content a.dpf-back:hover,
body.dp-bk .entry-content a.daplace-back-link:hover {
	opacity: 1;
	text-decoration: underline !important;
}

body.dp-bk .dpf-prop > .daplace-error {
	margin: 24px var(--dpf-gutter);
}

body.dp-bk .dpf-prop__head {
	padding: 30px var(--dpf-gutter) 0;
}

body.dp-bk .entry-content .dpf-prop__head .dpf-title {
	font-size: 40px !important;
	line-height: 1.22 !important;
}

body.dp-bk .entry-content .dpf-prop__type,
body.dp-bk .entry-content .dpf-prop__address {
	margin: 0;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.3;
	text-transform: uppercase;
}

body.dp-bk .entry-content .dpf-prop__type {
	margin-top: 24px;
}

body.dp-bk .entry-content .dpf-prop__address {
	margin-top: 8px;
}

/* Carousel: swipeable strip with the neighbours peeking in */
body.dp-bk .dpf-carousel {
	position: relative;
	margin-top: 38px;
}

body.dp-bk .dpf-carousel__track {
	display: flex;
	gap: 12px;
	padding: 0 var(--dpf-gutter);
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scroll-padding: 0 var(--dpf-gutter);
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

body.dp-bk .dpf-carousel__track::-webkit-scrollbar {
	display: none;
}

body.dp-bk .dpf-carousel__track:focus-visible {
	outline: 2px solid var(--dpf-navy);
	outline-offset: 4px;
}

body.dp-bk .dpf-carousel__slide {
	flex: 0 0 calc(100% - 2 * var(--dpf-gutter));
	height: 262px;
	margin: 0;
	border-radius: var(--dpf-radius-card);
	overflow: hidden;
	background: var(--dpf-lilac);
	scroll-snap-align: start;
}

body.dp-bk .dpf-carousel__slide img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	cursor: zoom-in;
}

body.dp-bk .dpf-carousel__dots {
	display: flex;
	justify-content: center;
	gap: 4px;
	margin-top: 8px;
}

body.dp-bk .dpf-carousel__dot {
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: var(--dpf-navy);
	opacity: .35;
}

body.dp-bk .dpf-carousel__dot.is-active {
	opacity: 1;
}

/* Arrows and drag (booking-figma.js), on devices with a mouse; touch screens swipe. */
body.dp-bk .entry-content button.dpf-carousel__arrow {
	display: none;
	position: absolute;
	top: 50%;
	z-index: 2;
	width: 44px;
	height: 44px;
	margin-top: -30px; /* centred on the photos, above the dots */
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, .9);
	color: var(--dpf-navy);
	box-shadow: 0 2px 10px rgba(33, 57, 77, .18);
	cursor: pointer;
}

body.dp-bk .entry-content button.dpf-carousel__arrow::before {
	content: '';
	display: block;
	width: 16px;
	height: 16px;
	margin: auto;
	background-color: currentColor;
	-webkit-mask: var(--dpf-i-chev-down) center / contain no-repeat;
	mask: var(--dpf-i-chev-down) center / contain no-repeat;
	transform: rotate(90deg);
}

body.dp-bk .entry-content button.dpf-carousel__arrow--next::before {
	transform: rotate(-90deg);
}

body.dp-bk .entry-content button.dpf-carousel__arrow:hover {
	background: var(--dpf-white);
	color: var(--dpf-navy);
}

body.dp-bk .entry-content button.dpf-carousel__arrow:disabled {
	opacity: 0;
	pointer-events: none;
}

body.dp-bk .dpf-carousel__arrow--prev {
	left: calc(var(--dpf-gutter) + 12px);
}

body.dp-bk .dpf-carousel__arrow--next {
	right: calc(var(--dpf-gutter) + 12px);
}

@media (hover: hover) and (pointer: fine) {
	body.dp-bk .entry-content button.dpf-carousel__arrow {
		display: block;
	}

	body.dp-bk .dpf-carousel__track {
		cursor: grab;
	}

	body.dp-bk .dpf-carousel__dot {
		cursor: pointer;
	}
}

body.dp-bk .dpf-carousel__track.is-dragging {
	scroll-snap-type: none;
	cursor: grabbing;
	user-select: none;
}

body.dp-bk .dpf-carousel__track.is-dragging img {
	cursor: grabbing;
}

body.dp-bk .entry-content button.dpf-share {
	position: absolute;
	top: 12px;
	right: calc(var(--dpf-gutter) + 12px);
	z-index: 2;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, .85);
	color: var(--dpf-navy);
	box-shadow: none;
}

body.dp-bk .entry-content button.dpf-share:hover {
	background: var(--dpf-white);
	color: var(--dpf-navy);
}

body.dp-bk .dpf-share__icon {
	display: block;
	width: 18px;
	height: 18px;
	margin: auto;
	background-color: currentColor;
	-webkit-mask: var(--dpf-i-share) center / contain no-repeat;
	mask: var(--dpf-i-share) center / contain no-repeat;
}

body.dp-bk .dpf-share .daplace-gallery-hero__copied {
	left: auto;
	right: 44px;
	top: 50%;
	transform: translateY(-50%);
	border-radius: 999px;
	background: var(--dpf-navy);
	color: var(--dpf-lilac);
	font-size: 13px;
}

/* Body: one column on mobile (frame order); two on desktop */
body.dp-bk .dpf-prop__body {
	padding: 0 var(--dpf-gutter);
}

body.dp-bk .entry-content ul.dpf-specs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 22px 16px;
	margin: 38px 0 0;
	padding: 0;
	list-style: none;
}

body.dp-bk .entry-content .dpf-specs__item {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	font-size: 18px;
	line-height: 1.2;
}

body.dp-bk .dpf-specs__item::before {
	content: '';
	flex-shrink: 0;
	width: 30px;
	height: 24px;
	background-color: currentColor;
	-webkit-mask: var(--dpf-i-people) left center / contain no-repeat;
	mask: var(--dpf-i-people) left center / contain no-repeat;
}

body.dp-bk .dpf-specs__item--bed::before {
	-webkit-mask-image: var(--dpf-i-bed);
	mask-image: var(--dpf-i-bed);
}

body.dp-bk .dpf-specs__item--size::before {
	-webkit-mask-image: var(--dpf-i-size);
	mask-image: var(--dpf-i-size);
}

body.dp-bk .dpf-specs__item--shower::before {
	-webkit-mask-image: var(--dpf-i-shower);
	mask-image: var(--dpf-i-shower);
}

body.dp-bk .dpf-prop__side {
	margin-top: 32px;
}

body.dp-bk .entry-content button.dpf-avail-open {
	min-height: 43px;
	color: var(--dpf-white);
	font-size: 20px;
	font-weight: 400;
}

body.dp-bk .entry-content button.dpf-avail-open[aria-expanded="true"] {
	display: none;
}

/* Booking summary on the property page (frame 5) */
body.dp-bk .daplace-booking-widget.dpf-summary {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
	color: var(--dpf-navy);
	overflow: visible;
}

body.dp-bk .entry-content .dpf-summary .dpf-h2 {
	margin: 0 0 18px !important;
}

body.dp-bk .entry-content .dpf-summary p {
	margin: 0;
}

body.dp-bk .entry-content .dpf-summary p.dpf-summary__dates {
	margin-top: 4px;
	font-size: 16px;
	line-height: 1.3;
}

body.dp-bk .entry-content .dpf-summary .dpf-summary__place + p.dpf-summary__dates {
	margin-top: 22px;
}

body.dp-bk .dpf-summary__dates strong {
	font-weight: 600;
}

body.dp-bk .entry-content .dpf-summary p.dpf-summary__counts {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 48px;
	margin-top: 18px;
	font-size: 15px;
}

body.dp-bk .entry-content button.dpf-text-btn {
	margin: 18px 0 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--dpf-navy);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
	text-transform: none;
	box-shadow: none;
	cursor: pointer;
}

body.dp-bk .entry-content button.dpf-text-btn:hover {
	background: none;
	color: var(--dpf-mauve);
}

body.dp-bk .entry-content button.dpf-text-btn[aria-expanded="true"] {
	display: none;
}

/* Availability: VERIFICA DISPONIBILITÀ (frame 8) */
body.dp-bk .dpf-availability[hidden] {
	display: none;
}

body.dp-bk .dpf-availability {
	margin-top: 8px;
}

body.dp-bk .dpf-summary--context + .dpf-availability {
	margin-top: 28px;
}

body.dp-bk .entry-content .dpf-availability__title {
	margin-bottom: 20px;
}

body.dp-bk .dpf-avail-form {
	display: block;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
}

body.dp-bk .dpf-avail-panel {
	display: grid;
	gap: 12px;
	margin: 0 calc(-1 * var(--dpf-gutter));
	padding: 27px var(--dpf-gutter);
}

body.dp-bk .dpf-avail-panel .daplace-field {
	flex: none;
	gap: 0;
	min-width: 0;
	margin: 0;
}

body.dp-bk .dpf-dates .daplace-dates-anchor {
	position: relative;
}

/* The plugin's date input sits, invisible, on top of the two pills: a tap opens its picker. */
body.dp-bk .entry-content input.dpf-dates__input {
	position: absolute;
	inset: 0;
	z-index: 2;
	width: 100%;
	height: 36px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: transparent;
	font-size: 16px;
	opacity: 0;
	cursor: pointer;
}

body.dp-bk .dpf-dates__pills {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 23px;
}

body.dp-bk .dpf-dates__pill {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

body.dp-bk .dpf-dates__pill.is-set {
	font-weight: 500;
}

body.dp-bk .dpf-dates:has(.dpf-dates__input:focus-visible) .dpf-dates__pill {
	box-shadow: 0 0 0 2px var(--dpf-navy);
}

body.dp-bk .dpf-guests {
	display: flex;
	flex-direction: row !important;
	align-items: center;
	justify-content: space-between;
	height: 36px;
	padding: 0 8px 0 18px;
	border-radius: 18px;
	background: var(--dpf-white);
}

body.dp-bk .entry-content .dpf-guests__label {
	margin: 0;
	color: var(--dpf-navy);
	font-family: var(--dpf-font);
	font-size: 15px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
}

body.dp-bk .dpf-guests__ctrl {
	display: inline-flex;
	align-items: center;
	gap: 2px;
}

body.dp-bk .entry-content input.dpf-guests__input {
	width: 34px;
	height: 30px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--dpf-navy);
	font-size: 16px;
	font-weight: 600;
	text-align: center;
	box-shadow: none;
	-moz-appearance: textfield;
}

body.dp-bk .dpf-guests__input::-webkit-outer-spin-button,
body.dp-bk .dpf-guests__input::-webkit-inner-spin-button {
	margin: 0;
	-webkit-appearance: none;
}

body.dp-bk .entry-content button.dpf-guests__step {
	width: 30px;
	height: 30px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--dpf-navy);
	box-shadow: none;
	cursor: pointer;
}

body.dp-bk .entry-content button.dpf-guests__step:hover {
	background: var(--dpf-beige);
	color: var(--dpf-navy);
}

body.dp-bk .dpf-guests__step::before {
	content: '';
	display: block;
	width: 12px;
	height: 12px;
	margin: auto;
	background-color: currentColor;
	-webkit-mask: var(--dpf-i-minus) center / 12px 2px no-repeat;
	mask: var(--dpf-i-minus) center / 12px 2px no-repeat;
}

body.dp-bk .dpf-guests__step--plus::before {
	-webkit-mask: var(--dpf-i-plus) center / contain no-repeat;
	mask: var(--dpf-i-plus) center / contain no-repeat;
}

body.dp-bk .entry-content .dpf-form-error {
	margin: 12px 0 0;
	color: var(--dpf-error);
	font-size: 15px;
	font-weight: 500;
}

body.dp-bk .dpf-avail-form .dpf-actions {
	margin-top: 28px;
}

/* Room types and their rates (frame 5) */
body.dp-bk .dpf-units {
	margin-top: 56px;
	scroll-margin-top: 90px;
}

body.dp-bk .dpf-units[hidden] {
	display: none;
}

body.dp-bk .entry-content .dpf-units > .dpf-h2 {
	margin: 0 0 20px !important;
	font-size: 20px !important;
	color: var(--dpf-navy) !important;
	font-weight: 600 !important;
}

body.dp-bk .daplace-unit-list.daplace-unit-list--rows {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 24px;
}

body.dp-bk .daplace-unit-row.dpf-unit {
	display: block;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: var(--dpf-radius-card);
	background: var(--dpf-white);
	box-shadow: none;
	overflow: hidden;
}

body.dp-bk .daplace-unit-row__image.dpf-unit__image {
	width: 100%;
	max-width: none;
	height: 200px;
	margin: 0;
	border-radius: 0;
	aspect-ratio: auto;
}

body.dp-bk .dpf-unit__image img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0;
}

body.dp-bk .daplace-unit-row__body.dpf-unit__body {
	display: block;
	padding: 24px 22px 22px;
}

body.dp-bk .entry-content .dpf-unit__name {
	margin: 0 !important;
	color: var(--dpf-navy) !important;
	font-family: var(--dpf-font) !important;
	font-size: 20px !important;
	font-weight: 600 !important;
	line-height: 1.1 !important;
	text-transform: uppercase;
}

body.dp-bk .daplace-unit-row__meta.dpf-unit__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
	margin: 12px 0 0;
}

body.dp-bk .entry-content .dpf-unit__meta .daplace-meta-item {
	gap: 8px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--dpf-navy);
	font-size: 15px;
}

body.dp-bk .dpf-unit__meta .daplace-meta-item--icon::before {
	width: 22px;
	height: 18px;
	background-color: currentColor;
	-webkit-mask: var(--dpf-i-house) center / contain no-repeat;
	mask: var(--dpf-i-house) center / contain no-repeat;
}

body.dp-bk .dpf-unit__meta .daplace-meta-item--guests::before {
	width: 26px;
	-webkit-mask-image: var(--dpf-i-people);
	mask-image: var(--dpf-i-people);
}

body.dp-bk .entry-content .dpf-unit__code {
	margin: 10px 0 0;
	color: var(--dpf-navy);
	font-size: 12px;
	letter-spacing: .02em;
	opacity: .75;
}

body.dp-bk .dpf-unit .dpf-clamp {
	margin-top: 14px;
}

body.dp-bk .daplace-unit-row__footer.dpf-unit__footer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin: 22px 0 0;
	padding: 0;
	border: 0;
}

body.dp-bk .entry-content .dpf-unit__nodate {
	color: var(--dpf-navy);
	font-size: 14px;
	font-style: italic;
	opacity: .8;
}

body.dp-bk .dpf-unit__price {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

body.dp-bk .entry-content .dpf-unit__price .daplace-price-label {
	color: var(--dpf-navy);
	font-size: 12px;
	text-transform: lowercase;
}

body.dp-bk .entry-content .dpf-unit__price .daplace-price-total {
	display: inline-flex;
	align-items: center;
	min-height: 30px;
	padding: 2px 14px 1px;
	border: 2px solid var(--dpf-navy);
	border-radius: 999px;
	color: var(--dpf-navy);
	font-size: 16px;
	font-weight: 600;
	white-space: nowrap;
}

body.dp-bk .entry-content .dpf-unit__footer .dpf-btn {
	margin-left: auto;
	padding: 3px 22px 2px;
	text-transform: lowercase;
}

body.dp-bk .entry-content .dpf-unit__footer .daplace-unit-toggle[aria-expanded="true"] {
	background: transparent;
	color: var(--dpf-navy);
}

body.dp-bk .entry-content .dpf-unit__na {
	margin-left: auto;
	padding: 6px 16px;
	border: 0;
	border-radius: 999px;
	background: var(--dpf-beige);
	color: var(--dpf-navy);
	font-size: 14px;
	text-transform: lowercase;
}

/* Rates panel: lilac, radio-style rows ("SELEZIONA TARIFFA") */
body.dp-bk .daplace-unit-rates.dpf-rates {
	display: block;
	margin: 0;
	padding: 8px 22px 22px;
	border: 0;
	background: var(--dpf-lilac);
}

body.dp-bk .daplace-unit-rates.dpf-rates[hidden] {
	display: none;
}

body.dp-bk .daplace-rate-card.dpf-rate {
	display: block;
	margin: 0;
	padding: 20px 0;
	border: 0;
	border-bottom: 1px solid var(--dpf-navy);
	border-radius: 0;
	background: none;
	box-shadow: none;
}

body.dp-bk .daplace-rate-card.dpf-rate:last-child {
	border-bottom: 0;
	padding-bottom: 4px;
}

body.dp-bk .daplace-rate-card__header.dpf-rate__head {
	display: flex;
	flex-wrap: nowrap;
	align-items: flex-start;
	gap: 10px;
	margin: 0;
}

body.dp-bk .dpf-rate__radio {
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	margin-top: 1px;
	border: 2px solid var(--dpf-navy);
	border-radius: 50%;
}

body.dp-bk .dpf-rate:hover .dpf-rate__radio,
body.dp-bk .dpf-rate:focus-within .dpf-rate__radio {
	box-shadow: inset 0 0 0 3px var(--dpf-lilac);
	background: var(--dpf-navy);
}

body.dp-bk .entry-content .dpf-rate__name {
	flex: 1 1 auto;
	margin: 0;
	color: var(--dpf-navy);
	font-family: var(--dpf-font) !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	text-transform: none;
}

body.dp-bk .entry-content .dpf-rate__pn {
	flex-shrink: 0;
	color: var(--dpf-navy);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.2;
	white-space: nowrap;
}

body.dp-bk .entry-content .dpf-rate__pn small {
	margin-left: 2px;
	color: var(--dpf-navy);
	font-size: 15px;
	font-weight: 600;
}

body.dp-bk .entry-content ul.dpf-rate__list {
	margin: 8px 0 0 26px;
	padding: 0;
	list-style: none;
	color: var(--dpf-navy);
	font-size: 14px;
	line-height: 1.5;
}

body.dp-bk .entry-content .dpf-rate__list li {
	position: relative;
	margin: 0;
	padding-left: 16px;
}

body.dp-bk .dpf-rate__list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: .45em;
	width: 9px;
	height: 9px;
	background-color: currentColor;
	-webkit-mask: var(--dpf-i-arrow) center / contain no-repeat;
	mask: var(--dpf-i-arrow) center / contain no-repeat;
}

body.dp-bk .daplace-rate-card__side.dpf-rate__side {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	min-width: 0;
	margin: 14px 0 0 26px;
	padding: 0;
	border: 0;
	text-align: left;
}

body.dp-bk .entry-content .dpf-rate__total {
	color: var(--dpf-navy);
	font-size: 15px;
	font-weight: 600;
}

body.dp-bk .entry-content .dpf-rate__side .dpf-btn {
	width: auto;
	padding: 3px 22px 2px;
	text-transform: lowercase;
}

body.dp-bk .entry-content .dpf-rate__side .dpf-btn--lilac {
	border-color: var(--dpf-navy);
	background: var(--dpf-navy);
	color: var(--dpf-lilac);
}

/* Read more / less (description, room types) */
body.dp-bk .dpf-clamp .daplace-clamp-text {
	color: var(--dpf-navy);
	font-size: 16px;
	line-height: 1.35;
}

body.dp-bk .dpf-clamp--lead .daplace-clamp-text {
	font-size: 18px;
	line-height: 1.22;
	-webkit-line-clamp: 4;
}

body.dp-bk .entry-content button.dpf-readmore {
	display: flex;
	margin: 12px 0 0 auto;
	padding: 0;
	border: 0;
	background: none;
	color: var(--dpf-navy);
	font-size: 16px;
	font-weight: 600;
	text-transform: lowercase;
	box-shadow: none;
}

body.dp-bk .entry-content button.dpf-readmore[hidden] {
	display: none;
}

body.dp-bk .entry-content button.dpf-readmore:hover {
	background: none;
	color: var(--dpf-mauve);
}

body.dp-bk .dpf-readmore .daplace-readmore-toggle__label::before {
	content: '+ ';
}

body.dp-bk .dpf-readmore.is-expanded .daplace-readmore-toggle__label::before {
	content: '\2212  ';
}

body.dp-bk .dpf-readmore .daplace-readmore-toggle__icon {
	display: none;
}

body.dp-bk .dpf-clamp--lead .dpf-readmore {
	font-size: 18px;
}

/* Description, map */
body.dp-bk .dpf-prop__desc {
	margin-top: 56px;
}

body.dp-bk .dpf-prop__location {
	margin-top: 56px;
	scroll-margin-top: 90px;
}

body.dp-bk .daplace-location-map.dpf-map {
	position: relative;
	z-index: 0;
	height: 182px;
	margin: 0;
	border: 7px solid var(--dpf-white);
	border-radius: var(--dpf-radius-card);
	overflow: hidden;
}

/* No zoom buttons in the Figma (the map still zooms with fingers or the wheel+ctrl). */
body.dp-bk .dpf-map .leaflet-control-zoom {
	display: none;
}

body.dp-bk .dpf-map .leaflet-tile-pane {
	filter: grayscale(.85) sepia(.18) brightness(1.06);
}

body.dp-bk .dpf-map .leaflet-marker-icon {
	filter: hue-rotate(-12deg) saturate(.55) brightness(.75);
}

/* DOTAZIONI / MAGGIORI INFORMAZIONI / GALLERIA */
body.dp-bk .dpf-accordions {
	margin-top: 40px;
	border-top: 3px solid var(--dpf-gold);
}

body.dp-bk .dpf-acc {
	margin: 0; /* the plugin's .daplace-amenities-section adds 8px/40px (old non-accordion layout) */
	border-bottom: 3px solid var(--dpf-gold);
}

body.dp-bk .dpf-acc__summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 22px 0 20px;
	list-style: none;
	cursor: pointer;
}

body.dp-bk .dpf-acc__summary::-webkit-details-marker {
	display: none;
}

body.dp-bk .dpf-acc__summary::after {
	content: '';
	flex-shrink: 0;
	width: 13px;
	height: 13px;
	background-color: var(--dpf-navy);
	-webkit-mask: var(--dpf-i-plus) center / contain no-repeat;
	mask: var(--dpf-i-plus) center / contain no-repeat;
}

body.dp-bk .dpf-acc[open] > .dpf-acc__summary::after {
	height: 2px;
	-webkit-mask-image: var(--dpf-i-minus);
	mask-image: var(--dpf-i-minus);
}

body.dp-bk .dpf-acc__summary:focus-visible {
	outline: 2px solid var(--dpf-navy);
	outline-offset: 2px;
}

body.dp-bk .entry-content .dpf-acc__title {
	margin: 0 !important;
	padding: 0;
	border: 0;
	color: var(--dpf-navy);
	font-family: var(--dpf-font) !important;
	font-size: 26px !important;
	font-weight: 400 !important;
	line-height: 1.05 !important;
	letter-spacing: -0.2px;
	text-transform: uppercase;
}

body.dp-bk .entry-content ul.dpf-amenities {
	display: block;
	columns: 2;
	column-gap: 16px;
	margin: 0;
	padding: 0 0 24px;
	list-style: none;
	border: 0;
	background: none;
}

body.dp-bk .entry-content .dpf-amenities .daplace-prop-amenity-item {
	display: block;
	margin: 0;
	padding: 0 0 4px;
	break-inside: avoid;
	border: 0;
	background: none;
	color: var(--dpf-navy);
	font-size: 15px;
	line-height: 1.45;
}

body.dp-bk .dpf-info {
	display: block;
	padding: 0 0 24px;
}

body.dp-bk .entry-content .daplace-property-cin.dpf-info__row {
	color: var(--dpf-navy);
	font-size: 16px;
	font-style: normal;
}

body.dp-bk .entry-content .dpf-info__row {
	display: flex;
	flex-direction: column;
	margin: 0 0 22px;
}

body.dp-bk .entry-content .dpf-info__row:last-child {
	margin-bottom: 0;
}

body.dp-bk .dpf-info__main {
	font-size: 16px;
	line-height: 1.3;
}

body.dp-bk .dpf-info__note {
	font-size: 11px;
	line-height: 1.3;
}

body.dp-bk .daplace-gallery-thumbs.dpf-thumbs {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
	margin: 0 0 12px;
}

body.dp-bk .daplace-gallery-thumbs.dpf-thumbs[hidden] {
	display: none;
}

body.dp-bk .entry-content .dpf-thumbs .daplace-gallery-thumb {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 8px;
	background: var(--dpf-lilac);
	overflow: hidden;
	box-shadow: none;
}

body.dp-bk .dpf-thumbs .daplace-gallery-thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

body.dp-bk .entry-content button.dpf-thumbs__more {
	margin: 0 0 24px;
	padding: 3px 18px 2px;
	border: 2px solid var(--dpf-navy);
	border-radius: 999px;
	background: transparent;
	color: var(--dpf-navy);
	font-size: 15px;
	font-weight: 600;
	box-shadow: none;
}

/* Full-screen gallery */
body.dp-bk .daplace-lightbox {
	background: rgba(33, 57, 77, .94);
}

body.dp-bk .entry-content .daplace-lightbox__close,
body.dp-bk .entry-content .daplace-lightbox__arrow {
	border: 0;
	background: rgba(234, 230, 221, .15);
	color: var(--dpf-white);
	box-shadow: none;
}

/* Elementor's global button style (padding 18px 22px, radius 10px) outranks the
   plugin's round close button: same 48px circle as the arrows, the × centred. */
body.dp-bk .entry-content .daplace-lightbox__close {
	display: flex;
	align-items: center;
	justify-content: center;
	top: 24px;
	right: 24px;
	width: 48px;
	height: 48px;
	padding: 0;
	border-radius: 50%;
	font-size: 30px;
	line-height: 1;
}

body.dp-bk .entry-content .daplace-lightbox__close:hover,
body.dp-bk .entry-content .daplace-lightbox__arrow:hover {
	background: rgba(234, 230, 221, .3);
}

@media (min-width: 768px) {
	body.dp-bk .dpf-prop__head,
	body.dp-bk .dpf-prop__body {
		margin-left: 0;
		margin-right: 0;
	}

	body.dp-bk .dpf-prop__head,
	body.dp-bk .dpf-prop__body {
		padding-left: var(--dpf-gutter);
		padding-right: var(--dpf-gutter);
	}

	/* 44px: the page's main title without dwarfing everything under it (56px read as
	   a hero heading); phones keep the Figma's 40px. */
	body.dp-bk .entry-content .dpf-prop__head .dpf-title {
		font-size: 44px !important;
		line-height: 1.1 !important;
	}

	/* Accordion titles one step under the page title and close to the section headings
	   (SELECT RATE 20px); phones keep the Figma's 26px. */
	body.dp-bk .entry-content .dpf-acc__title {
		font-size: 22px !important;
	}

	body.dp-bk .dpf-carousel__slide {
		flex-basis: calc((100% - 2 * var(--dpf-gutter) - 24px) / 2.5);
		height: 340px;
	}

	body.dp-bk .daplace-unit-row.dpf-unit {
		display: grid;
		grid-template-columns: 300px minmax(0, 1fr);
	}

	/* Fills the card's height beside short text, but stops at 320px: with "read
	   more" open the text runs on below and the photo stays as it was (it used to
	   follow the text to ~1400px tall, cropped to a narrow zoomed-in slice). */
	body.dp-bk .daplace-unit-row__image.dpf-unit__image {
		align-self: stretch;
		height: auto;
		min-height: 230px;
		max-height: 320px;
	}

	body.dp-bk .daplace-unit-rates.dpf-rates,
	body.dp-bk .dpf-unit > .dpf-unit__body:first-child {
		grid-column: 1 / -1;
	}

	body.dp-bk .dpf-avail-panel {
		margin: 0;
		padding: 24px;
	}
}

@media (min-width: 1024px) {
	body.dp-bk .dpf-prop__body {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 380px;
		column-gap: 56px;
		align-items: start;
	}

	body.dp-bk .dpf-prop__body > * {
		grid-column: 1;
	}

	body.dp-bk .dpf-prop__body > .dpf-prop__side {
		grid-column: 2;
		grid-row: 1 / span 8;
		position: sticky;
		top: 24px;
		margin-top: 38px;
		padding: 28px;
		border-radius: var(--dpf-radius-card);
		background: var(--dpf-white);
	}

	body.dp-bk .dpf-prop__side .dpf-avail-panel {
		margin: 0 -8px;
		padding: 20px 16px;
	}

	/* The sticky card is its own stacking layer, and the full-width rates section comes
	   after it in the page: lift the card so its open date picker isn't painted under
	   the room cards. */
	body.dp-bk .dpf-prop__body > .dpf-prop__side {
		z-index: 5;
	}

	/* Two-month picker (620px) from a 380px right-hand column: open it leftwards, flush
	   with the card's right edge (the library centres it on the input, which pushed it
	   ~40px past the window and added a horizontal scrollbar). */
	body.dp-bk .dpf-prop__side #daplace-dates-anchor .date-picker-wrapper {
		right: 0 !important;
		left: auto !important;
	}

	body.dp-bk .dpf-units,
	body.dp-bk .dpf-prop__desc,
	body.dp-bk .dpf-prop__location {
		margin-top: 48px;
	}

	/* Select rate, map and accordions under the two columns (description +
	   booking summary), across the full content width. */
	body.dp-bk .dpf-prop__body.dpf-prop__body--wide {
		display: block;
		margin-top: 16px;
	}

	body.dp-bk .dpf-prop__body--wide .daplace-location-map.dpf-map {
		height: 320px;
	}

	body.dp-bk .entry-content .dpf-prop__body--wide ul.dpf-amenities {
		columns: 4;
		column-gap: 32px;
	}

	body.dp-bk .dpf-prop__body--wide .daplace-gallery-thumbs.dpf-thumbs {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}
}

/* The plugin's ▾ on outline pills: only the rates toggle keeps a chevron. */
body.dp-bk .dpf-btn.daplace-btn--outline-pill::after {
	content: none;
}

body.dp-bk .dpf-btn.daplace-unit-toggle::after {
	content: '';
	width: 11px;
	height: 7px;
	background-color: currentColor;
	-webkit-mask: var(--dpf-i-chev-down) center / contain no-repeat;
	mask: var(--dpf-i-chev-down) center / contain no-repeat;
	transition: transform .2s ease;
}

body.dp-bk .dpf-btn.daplace-unit-toggle[aria-expanded="true"]::after {
	transform: rotate(180deg);
}

/* ==========================================================================
   Rate page /scegli-tariffa/ (Figma frame 5)
   ========================================================================== */
body.dp-bk .dpf-ratepage {
	max-width: var(--dpf-max);
	margin: 0 auto;
	padding: 0 0 72px;
}

body.dp-bk .entry-content .dpf-ratepage__title,
body.dp-bk .entry-content .dpf-checkout__title {
	padding: 30px var(--dpf-gutter) 0;
	max-width: 360px;
}

body.dp-bk .dpf-ratepage .dpf-carousel {
	margin-top: 38px;
}

body.dp-bk .dpf-ratepage .dpf-carousel__slide img {
	cursor: default;
}

body.dp-bk .dpf-ratepage__body {
	padding: 0 var(--dpf-gutter);
}

body.dp-bk .dpf-ratepage__summary {
	margin-top: 38px;
}

body.dp-bk .dpf-ratepage__error {
	margin: 24px var(--dpf-gutter) !important;
}

body.dp-bk .dpf-ratepage > .dpf-ratepage__actions {
	padding: 0 var(--dpf-gutter);
}

/* Shared summary lines (frames 5 and 6) */
body.dp-bk .entry-content .dpf-summary__name,
body.dp-bk .entry-content .dpf-summary__address {
	margin: 0;
	color: var(--dpf-navy);
	font-size: 20px;
	font-weight: 300;
	line-height: 1.2;
}

body.dp-bk .entry-content .dpf-summary__name {
	text-transform: uppercase;
}

body.dp-bk .entry-content .dpf-summary__address {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

body.dp-bk .entry-content .dpf-summary p.dpf-summary__room {
	margin: 10px 0 0;
	font-size: 15px;
	font-weight: 500;
}

body.dp-bk .dpf-summary__max {
	opacity: .75;
}

body.dp-bk .dpf-ratepage__panel {
	margin: 40px calc(-1 * var(--dpf-gutter)) 0;
}

body.dp-bk .entry-content .dpf-ratepage__panel .dpf-h2 {
	margin: 0 0 4px !important;
	color: var(--dpf-navy) !important;
	font-size: 20px !important;
	font-weight: 600 !important;
	letter-spacing: -0.2px !important;
}

body.dp-bk .dpf-ratepage__panel .dpf-rates {
	padding: 0;
	background: none;
}

body.dp-bk .entry-content .dpf-rate__badge {
	padding-left: 0;
}

body.dp-bk .dpf-rate__badge::before {
	display: none;
}

body.dp-bk .entry-content .dpf-rate__badge .daplace-badge {
	display: inline-block;
	margin: 0 0 4px;
	padding: 2px 10px 1px;
	border: 0;
	border-radius: 999px;
	background: var(--dpf-white);
	color: var(--dpf-navy);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0;
	text-transform: lowercase;
}

body.dp-bk .dpf-ratepage__actions {
	margin-top: 32px;
}

@media (min-width: 768px) {
	body.dp-bk .entry-content .dpf-ratepage__title,
	body.dp-bk .entry-content .dpf-checkout__title {
		max-width: none;
		font-size: 56px !important;
	}

	body.dp-bk .dpf-ratepage__body {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
		gap: 0 48px;
		align-items: start;
	}

	body.dp-bk .dpf-ratepage__panel {
		margin: 38px 0 0;
		padding: 28px;
	}

	body.dp-bk .dpf-ratepage__actions {
		grid-column: 1 / -1;
	}
}

/* ==========================================================================
   Booking page /prenotazione/ (Figma frame 6, CONFERMA PRENOTAZIONE)
   ========================================================================== */
body.dp-bk .daplace-booking-form-wrap.dpf-checkout {
	max-width: var(--dpf-max);
	margin: 0 auto;
	padding: 0 0 72px;
}

body.dp-bk .dpf-checkout__notice {
	margin: 24px var(--dpf-gutter) 0 !important;
}

body.dp-bk .daplace-booking-grid.dpf-checkout__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0;
	margin-top: 34px;
	padding: 0 var(--dpf-gutter);
}

body.dp-bk .dpf-checkout__grid .daplace-booking-right {
	position: static;
}

body.dp-bk .dpf-checkout__grid .daplace-booking-left {
	min-width: 0;
}

/* Summary (riepilogo) */
body.dp-bk .entry-content .dpf-summary--full .dpf-summary__place + p.dpf-summary__dates {
	margin-top: 14px;
}

body.dp-bk .dpf-summary__lines {
	margin-top: 26px;
	padding: 0;
	border: 0;
	background: none;
}

body.dp-bk .entry-content .dpf-summary__rate {
	display: flex;
	flex-direction: column;
	margin: 0;
	font-size: 15px;
	line-height: 1.2;
}

body.dp-bk .dpf-summary__row.daplace-widget-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--dpf-navy);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.2;
}

body.dp-bk .dpf-summary__row > span:last-child {
	flex-shrink: 0;
	text-align: right;
}

body.dp-bk .dpf-summary__row.dpf-summary__total {
	margin-top: 12px;
	padding-top: 14px;
	border-top: 2px solid var(--dpf-gold);
	font-size: 16px;
	font-weight: 600;
	text-transform: uppercase;
}

body.dp-bk .dpf-summary__total .daplace-total-original {
	color: var(--dpf-navy);
	font-weight: 400;
	opacity: .6;
}

body.dp-bk .dpf-summary__row.dpf-summary__due {
	margin-top: 8px;
	font-size: 14px;
}

body.dp-bk .dpf-summary__due em {
	font-style: normal;
	font-size: 12px;
}

/* Discount code ("Ho un codice sconto") */
body.dp-bk .daplace-discount-row.dpf-discount {
	margin: 28px 0 0;
	padding: 0;
	border: 0;
}

body.dp-bk .entry-content .dpf-discount__toggle {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--dpf-navy);
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
}

body.dp-bk .dpf-discount__toggle .daplace-toggle__text {
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 3px;
}

body.dp-bk .daplace-toggle__track.dpf-discount__check {
	width: 20px;
	height: 20px;
	margin: 0;
	border: 2px solid var(--dpf-navy);
	border-radius: 50%;
	background: transparent;
}

body.dp-bk .daplace-toggle__track.dpf-discount__check::before {
	top: 0;
	left: 0;
	width: 16px;
	height: 16px;
	border-radius: 0;
	background-color: var(--dpf-white);
	-webkit-mask: var(--dpf-i-check) center / 14px no-repeat;
	mask: var(--dpf-i-check) center / 14px no-repeat;
	transform: none !important;
	opacity: 0;
}

body.dp-bk .dpf-discount__toggle input:checked + .dpf-discount__check {
	background: var(--dpf-navy);
}

body.dp-bk .dpf-discount__toggle input:checked + .dpf-discount__check::before {
	opacity: 1;
}

body.dp-bk .dpf-discount__fields {
	margin-top: 14px;
}

body.dp-bk .daplace-discount-row__input.dpf-discount__input {
	display: flex;
	align-items: flex-end;
	gap: 12px;
	max-width: 360px;
}

body.dp-bk .entry-content .dpf-discount__input input {
	flex: 1 1 auto;
	min-width: 0;
	height: 30px;
	padding: 0;
	border: 0;
	border-bottom: 1px solid var(--dpf-navy);
	border-radius: 0;
	background: transparent;
	color: var(--dpf-navy);
	font-size: 13px;
	box-shadow: none;
}

body.dp-bk .dpf-discount__input input::placeholder {
	color: var(--dpf-navy);
	opacity: 1;
}

body.dp-bk .entry-content .dpf-discount__input .dpf-btn {
	padding: 2px 16px 1px;
	font-size: 14px;
	text-transform: lowercase;
}

body.dp-bk .entry-content .dpf-discount__message {
	margin: 8px 0 0;
	font-size: 14px;
	font-weight: 500;
}

body.dp-bk .entry-content .daplace-discount-row__message--ok {
	color: var(--dpf-navy);
}

body.dp-bk .entry-content .daplace-discount-row__message--error {
	color: var(--dpf-error);
}

/* DATI PERSONALI E DI CONTATTO (lilac panel) */
body.dp-bk .dpf-form {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
}

body.dp-bk .dpf-form__panel {
	margin: 36px calc(-1 * var(--dpf-gutter)) 0;
	padding: 34px var(--dpf-gutter) 22px;
}

body.dp-bk .entry-content .dpf-form__panel .dpf-h2 {
	margin: 0 0 6px !important;
	color: var(--dpf-navy) !important;
	font-size: 20px !important;
	text-transform: uppercase;
}

body.dp-bk .entry-content .dpf-form__note {
	margin: 0 0 26px;
	color: var(--dpf-navy);
	font-size: 12px;
}

body.dp-bk .dpf-form__fields {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px 23px;
}

body.dp-bk .dpf-form__fields .daplace-field.dpf-field {
	grid-column: 1 / -1;
	display: block;
	flex: none;
	min-width: 0;
	margin: 0;
}

body.dp-bk .dpf-form__fields .dpf-field--half {
	grid-column: auto !important;
}

body.dp-bk .entry-content .dpf-form__fields input.dpf-pill-field,
body.dp-bk .entry-content .dpf-form__fields select.dpf-pill-field {
	height: 36px;
	padding: 0 14px;
	border: 0;
	border-radius: 18px;
	font-size: 15px;
	line-height: 36px;
}

body.dp-bk .entry-content .dpf-form__fields select.dpf-pill-field {
	padding-right: 38px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2321394D' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 16px center;
}

body.dp-bk .entry-content .dpf-form__fields textarea.dpf-textarea {
	height: 94px;
	min-height: 94px;
	padding: 12px 14px;
	border: 0;
	border-radius: 28px;
	font-size: 15px;
	line-height: 1.3;
	resize: vertical;
}

body.dp-bk .daplace-phone-field.dpf-phone {
	display: flex;
	gap: 8px;
}

body.dp-bk .entry-content .dpf-phone input.dpf-phone__prefix {
	flex: 0 0 68px;
	width: 68px;
	padding: 0 8px;
	text-align: center;
}

body.dp-bk .entry-content .dpf-field__hint {
	margin: 4px 0 0 14px;
	color: var(--dpf-navy);
	font-size: 11px;
	opacity: .8;
}

body.dp-bk .entry-content .dpf-field__label {
	display: block;
	margin: 4px 0 6px 14px;
	color: var(--dpf-navy);
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: lowercase;
}

body.dp-bk .dpf-form__toggles {
	display: grid;
	gap: 14px;
	margin-top: 22px;
}

body.dp-bk .dpf-form__toggles .daplace-form-row {
	gap: 4px; /* toggle → its error message */
	margin: 0;
	padding: 0;
	border: 0;
}

body.dp-bk .entry-content .daplace-toggle.dpf-toggle {
	position: relative;
	align-items: center;
	gap: 14px;
	color: var(--dpf-navy);
	font-size: 15px;
	line-height: 1.25;
}

body.dp-bk .dpf-toggle .daplace-toggle__track {
	width: 42px;
	height: 21px;
	margin: 0;
	border-radius: 11px;
	background: var(--dpf-white);
}

body.dp-bk .dpf-toggle .daplace-toggle__track::before {
	top: 1px;
	left: 1px;
	width: 19px;
	height: 19px;
	background: #D9D9D9;
}

body.dp-bk .dpf-toggle input[type="checkbox"]:checked + .daplace-toggle__track {
	background: var(--dpf-navy);
}

body.dp-bk .dpf-toggle input[type="checkbox"]:checked + .daplace-toggle__track::before {
	background: var(--dpf-lilac);
	transform: translateX(21px);
}

body.dp-bk .dpf-toggle input[type="checkbox"]:focus-visible + .daplace-toggle__track,
body.dp-bk .dpf-discount__toggle input:focus-visible + .dpf-discount__check {
	outline: 2px solid var(--dpf-navy);
	outline-offset: 2px;
}

body.dp-bk .entry-content .dpf-toggle .daplace-toggle__text a {
	color: var(--dpf-navy);
	text-decoration: underline !important;
	text-underline-offset: 2px;
}

body.dp-bk .dpf-toggle .required,
body.dp-bk .dpf-form .required {
	color: var(--dpf-navy);
}

/* PAGAMENTO */
body.dp-bk .dpf-pay {
	margin-top: 44px;
}

body.dp-bk .entry-content .dpf-pay .dpf-h2 {
	margin: 0 0 14px !important;
	color: var(--dpf-navy) !important;
	font-size: 20px !important;
}

body.dp-bk .entry-content .dpf-pay__amount {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 12px;
	margin: 0;
	font-size: 15px;
}

body.dp-bk .dpf-pay__due {
	display: inline-block;
	padding: 2px 10px 1px;
	border-radius: 4px;
	background: var(--dpf-lilac);
	font-size: 15px;
	font-weight: 600;
}

body.dp-bk .entry-content .dpf-pay__method {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 18px 0 0;
}

body.dp-bk .dpf-pay__check {
	flex-shrink: 0;
	position: relative;
	width: 18px;
	height: 18px;
	margin-top: 1px;
	border-radius: 50%;
	background: var(--dpf-navy);
}

body.dp-bk .dpf-pay__check::before {
	content: '';
	position: absolute;
	inset: 0;
	background-color: var(--dpf-white);
	-webkit-mask: var(--dpf-i-check) center / 13px no-repeat;
	mask: var(--dpf-i-check) center / 13px no-repeat;
}

body.dp-bk .dpf-pay__method-text {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

body.dp-bk .dpf-pay__method-name {
	font-size: 15px;
}

body.dp-bk .dpf-pay__method-note {
	font-size: 13px;
	line-height: 1.35;
}

/* Card logos + "Pagamento sicuro tramite Nexi/Stripe" under the method, before the
   guest clicks (the plugin only showed them after, for a moment, before redirecting). */
body.dp-bk .dpf-pay__brands {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 16px;
	margin-top: 10px;
}

body.dp-bk .dpf-pay__brands .daplace-payment__brands,
body.dp-bk .dpf-pay__brands .daplace-payment-provider {
	margin: 0;
}

body.dp-bk .dpf-pay__brands .daplace-payment-provider {
	color: var(--dpf-navy);
	font-size: 13px;
}

body.dp-bk .dpf-pay .daplace-payment-section {
	margin-top: 16px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
}

body.dp-bk .dpf-pay .daplace-payment--nexi:not([hidden]),
body.dp-bk .dpf-pay .daplace-payment--stripe:not([hidden]) {
	padding: 20px;
	border-radius: var(--dpf-radius-panel);
	background: var(--dpf-white);
}

/* Booking not possible as requested (the plugin's $error): the reason by the actions,
   where the submit button would be. */
body.dp-bk .entry-content .dpf-blocked {
	margin: 40px 0 0;
	color: var(--dpf-error);
	font-size: 15px;
	font-weight: 500;
	line-height: 1.4;
}

body.dp-bk .dpf-blocked + .dpf-actions {
	margin-top: 16px;
}

body.dp-bk .entry-content .dpf-form > .dpf-form-error,
body.dp-bk .entry-content .daplace-booking-form__error {
	margin: 24px 0 0;
	padding: 12px 16px;
	border: 0;
	border-radius: var(--dpf-radius-panel);
	background: var(--dpf-white);
	color: var(--dpf-error);
	font-size: 15px;
	font-weight: 500;
}

body.dp-bk .entry-content .dpf-form .dpf-actions.daplace-form-row--submit {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	gap: 12px;
	margin-top: 40px;
}

body.dp-bk .entry-content .dpf-form .dpf-actions .dpf-btn {
	flex: 0 0 auto;
	width: auto;
	min-height: 30px;
	font-size: 16px;
	white-space: nowrap;
}

body.dp-bk .entry-content .dpf-form #daplace-booking-submit {
	padding-left: 18px;
	padding-right: 18px;
}

body.dp-bk .entry-content .daplace-trust-badge.dpf-trust {
	justify-content: flex-start;
	margin: 18px 0 0;
	padding: 0;
	color: var(--dpf-navy);
	font-size: 12px;
	opacity: .8;
}

@media (min-width: 768px) {
	body.dp-bk .dpf-form__panel {
		margin: 36px 0 0;
		padding: 32px;
	}
}

@media (min-width: 1024px) {
	body.dp-bk .daplace-booking-grid.dpf-checkout__grid {
		grid-template-columns: minmax(0, 1fr) 400px;
		gap: 0 56px;
		align-items: start;
	}

	body.dp-bk .dpf-checkout__grid .daplace-booking-right {
		grid-column: 2;
		grid-row: 1;
		position: sticky;
		top: 24px;
		padding: 28px;
		border-radius: var(--dpf-radius-card);
		background: var(--dpf-white);
	}

	body.dp-bk .dpf-checkout__grid .daplace-booking-left {
		grid-column: 1;
		grid-row: 1;
	}

	body.dp-bk .dpf-checkout__grid .dpf-form__panel {
		margin-top: 0;
	}
}

/* ==========================================================================
   Confirmation /conferma/ (Figma frames 141 / 148)
   ========================================================================== */
body.dp-bk .daplace-confirmation.dpf-confirm {
	max-width: none;
	margin: 0;
	padding: 0;
	color: var(--dpf-navy);
	text-align: left;
}

body.dp-bk .dpf-confirm__hero {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: max(520px, calc(100svh - 115px));
	padding: 96px var(--dpf-gutter) 72px;
	background: var(--dpf-lilac);
	text-align: center;
}

body.dp-bk .entry-content a.dpf-confirm__close {
	position: absolute;
	top: 42px;
	right: 30px;
	width: 22px;
	height: 22px;
	background-color: var(--dpf-navy);
	-webkit-mask: var(--dpf-i-close) center / contain no-repeat;
	mask: var(--dpf-i-close) center / contain no-repeat;
}

body.dp-bk .entry-content a.dpf-confirm__close:hover,
body.dp-bk .entry-content a.dpf-confirm__close:focus-visible {
	background-color: var(--dpf-mauve);
}

body.dp-bk .entry-content .dpf-confirm__title {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	color: var(--dpf-navy) !important;
}

body.dp-bk .entry-content .dpf-confirm__title-top {
	max-width: 360px;
	font-family: var(--dpf-font);
	font-size: 47px;
	font-weight: 400;
	line-height: 1.04;
	letter-spacing: -0.3px;
	text-transform: uppercase;
}

body.dp-bk .entry-content .dpf-confirm__title-em {
	margin-top: -6px;
	font-family: var(--dpf-serif) !important;
	font-size: 60px;
	font-style: italic;
	font-weight: 400;
	line-height: 1.1;
}

body.dp-bk .entry-content .dpf-confirm__intro {
	max-width: 340px;
	margin: 36px auto 0;
	color: var(--dpf-navy);
	font-size: 16px;
	line-height: 1.35;
}

body.dp-bk .dpf-confirm__body {
	max-width: 760px;
	margin: 0 auto;
	padding: 48px var(--dpf-gutter) 72px;
}

body.dp-bk .daplace-confirmation__details.dpf-confirm__details,
body.dp-bk .daplace-whats-next.dpf-confirm__next {
	margin: 0 0 24px;
	padding: 26px 22px;
	border: 0;
	border-radius: var(--dpf-radius-card);
	background: var(--dpf-white);
	box-shadow: none;
	text-align: left;
}

body.dp-bk .entry-content .dpf-confirm .dpf-h2 {
	margin: 0 0 14px !important;
	color: var(--dpf-navy) !important;
	font-size: 20px !important;
	font-weight: 600 !important;
	letter-spacing: -0.2px !important;
}

body.dp-bk .dpf-confirm .daplace-detail-row {
	padding: 10px 0;
	border-bottom: 1px solid rgba(33, 57, 77, .12);
	font-size: 15px;
}

body.dp-bk .dpf-confirm .daplace-detail-row:last-child {
	border-bottom: 0;
}

body.dp-bk .dpf-confirm .daplace-detail-label {
	color: var(--dpf-navy);
	opacity: .75;
}

body.dp-bk .dpf-confirm .daplace-detail-value {
	color: var(--dpf-navy);
	font-weight: 500;
}

body.dp-bk .dpf-confirm .daplace-confirm-day {
	display: block;
	font-size: 12px;
	font-weight: 400;
	opacity: .75;
}

body.dp-bk .dpf-confirm .dpf-confirm__total {
	margin-top: 4px;
	border-top: 2px solid var(--dpf-gold);
	border-bottom: 0;
	font-weight: 600;
}

body.dp-bk .dpf-confirm .dpf-confirm__total .daplace-detail-label {
	opacity: 1;
	text-transform: uppercase;
}

body.dp-bk .dpf-confirm .dpf-confirm__total .daplace-detail-value {
	font-weight: 600;
}

body.dp-bk .dpf-confirm .daplace-detail-value--charged {
	padding: 1px 8px;
	border-radius: 4px;
	background: var(--dpf-lilac);
}

body.dp-bk .dpf-confirm .daplace-next-steps {
	margin: 0;
	padding: 0;
}

body.dp-bk .dpf-confirm .daplace-next-step {
	gap: 14px;
	padding: 14px 0;
	border-bottom: 1px solid rgba(33, 57, 77, .12);
	color: var(--dpf-navy);
	font-size: 15px;
}

body.dp-bk .dpf-confirm .daplace-next-step:last-child {
	border-bottom: 0;
}

body.dp-bk .dpf-confirm .daplace-next-step__icon {
	width: 28px;
	height: 28px;
	border: 2px solid var(--dpf-navy);
	background: transparent;
	color: var(--dpf-navy);
	font-size: 13px;
}

body.dp-bk .dpf-confirm .daplace-next-step--done .daplace-next-step__icon {
	background: var(--dpf-navy);
	color: var(--dpf-lilac);
}

body.dp-bk .entry-content .dpf-confirm .daplace-next-step p {
	margin: 2px 0 0;
	color: var(--dpf-navy);
	font-size: 14px;
	line-height: 1.35;
}

body.dp-bk .dpf-confirm__instr {
	margin: 32px 0 0;
	border-top: 3px solid var(--dpf-gold);
}

body.dp-bk .dpf-confirm__instr .daplace-instr-panel.dpf-acc {
	margin: 0;
	padding: 0;
	border: 0;
	border-bottom: 3px solid var(--dpf-gold);
	border-radius: 0;
	background: none;
	box-shadow: none;
}

body.dp-bk .dpf-confirm__instr .daplace-instr-panel__header.dpf-acc__summary {
	padding: 20px 0;
	border: 0;
	background: none;
}

body.dp-bk .entry-content .dpf-confirm__instr .dpf-acc__title {
	font-size: 22px !important;
}

body.dp-bk .dpf-confirm__instr .daplace-instr-panel__body {
	padding: 0 0 22px;
	color: var(--dpf-navy);
	font-size: 15px;
}

body.dp-bk .entry-content .dpf-confirm__contact {
	margin: 28px 0 0;
	color: var(--dpf-navy);
	font-size: 15px;
	text-align: center;
}

/* Error states (no booking id, booking not confirmed) */
body.dp-bk .daplace-confirmation.dpf-confirm--error {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
	min-height: 420px;
	justify-content: center;
	padding: 72px var(--dpf-gutter);
	background: var(--dpf-lilac);
	text-align: center;
}

body.dp-bk .entry-content .dpf-confirm--error p {
	margin: 0;
	color: var(--dpf-navy);
	font-size: 20px;
	font-weight: 500;
}

/* ==========================================================================
   Manage booking /gestisci-prenotazione/ (Figma frames 13 / 12)
   ========================================================================== */
body.dp-bk .daplace-manage-booking-wrap.dpf-manage {
	max-width: 760px !important;
	margin: 0 auto !important;
	padding: 46px 0 80px !important;
	text-align: center;
}

body.dp-bk .entry-content .dpf-manage__title {
	max-width: 340px;
	margin: 0 auto !important;
	padding: 0 var(--dpf-gutter);
	color: var(--dpf-navy) !important;
	font-size: 40px !important;
	font-weight: 600 !important;
	line-height: 1.22 !important;
	text-align: center !important;
}

body.dp-bk .entry-content .dpf-manage__intro {
	max-width: 300px;
	margin: 22px auto 0 !important;
	color: var(--dpf-navy) !important;
	font-size: 16px !important;
	line-height: 1.3;
	text-align: center !important;
}

body.dp-bk .dpf-manage__form {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	box-shadow: none;
}

body.dp-bk .dpf-panel.dpf-manage__panel {
	display: grid;
	gap: 13px;
	margin-top: 28px;
	padding: 26px var(--dpf-gutter);
	text-align: left;
}

body.dp-bk .dpf-manage__field.daplace-field {
	position: relative;
	display: block;
	flex: none;
	margin: 0;
}

body.dp-bk .entry-content .dpf-manage__field input.dpf-pill-field {
	height: 36px;
	padding: 0 16px;
	border: 0;
	border-radius: 18px;
	font-size: 15px;
	line-height: 36px;
}

body.dp-bk .dpf-manage__hint {
	display: block;
	margin: 4px 0 0 16px;
	color: var(--dpf-navy);
	font-size: 11px;
	opacity: .75;
}

body.dp-bk .entry-content .daplace-manage-booking__error.dpf-manage__error {
	max-width: 330px;
	margin: 26px auto 0;
	color: var(--dpf-error);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.3;
	text-align: center;
}

body.dp-bk .entry-content .daplace-manage-booking__error.dpf-manage__error::before {
	content: '*';
}

body.dp-bk .dpf-manage__submit.daplace-form-row--submit {
	margin: 48px 0 0;
	padding: 0 var(--dpf-gutter);
}

body.dp-bk .dpf-manage__error:not([hidden]) + .dpf-manage__submit {
	margin-top: 14px;
}

body.dp-bk .entry-content .dpf-manage__submit .dpf-btn--wide {
	width: 100%;
	min-height: 30px;
	padding: 3px 18px 2px;
	border-radius: 999px;
	font-size: 16px;
	font-weight: 600;
}

body.dp-bk .daplace-manage-booking__result.dpf-manage__result {
	margin: 28px var(--dpf-gutter) 0;
	padding: 24px 22px;
	border: 0;
	border-radius: var(--dpf-radius-card);
	background: var(--dpf-white);
}

body.dp-bk .daplace-manage-booking__result.dpf-manage__result[hidden] {
	display: none;
}

body.dp-bk .entry-content .dpf-manage__result .daplace-manage-booking__found {
	margin: 0 0 16px;
	color: var(--dpf-navy);
	font-size: 16px;
	font-weight: 600;
}

body.dp-bk .dpf-manage__result .daplace-manage-booking__actions {
	display: grid;
	gap: 12px;
}

body.dp-bk .entry-content .dpf-manage__result .dpf-btn--wide {
	font-size: 16px;
}

@media (min-width: 768px) {
	body.dp-bk .dpf-panel.dpf-manage__panel {
		padding: 32px;
	}

	body.dp-bk .dpf-manage__submit.daplace-form-row--submit {
		padding: 0;
	}

	body.dp-bk .entry-content .dpf-manage__title {
		max-width: 620px;
		font-size: 48px !important;
	}
}

/* ==========================================================================
   Date picker (plugin's jQuery date range picker, theme's mobile layout) in the
   Figma colours (Widget - date frame): white sheet, navy text and lines,
   navy start/end days, grey range.
   ========================================================================== */
body.dp-bk #daplace-dates-anchor .date-picker-wrapper {
	z-index: 9999 !important;
	padding: 0 0 8px !important;
	border: 0 !important;
	border-radius: var(--dpf-radius-card) !important;
	background-color: var(--dpf-white) !important;
	box-shadow: 0 14px 40px rgba(33, 57, 77, .22) !important;
	color: var(--dpf-navy) !important;
	overflow: hidden !important;
}

body.dp-bk #daplace-dates-anchor .date-picker-wrapper .month-wrapper,
body.dp-bk #daplace-dates-anchor .date-picker-wrapper .month-wrapper table {
	background-color: var(--dpf-white) !important;
	color: var(--dpf-navy) !important;
}

body.dp-bk #daplace-dates-anchor .date-picker-wrapper .month-wrapper table th,
body.dp-bk #daplace-dates-anchor .date-picker-wrapper .month-wrapper table .caption th,
body.dp-bk #daplace-dates-anchor .date-picker-wrapper th.month-name {
	background: transparent !important;
	color: var(--dpf-navy) !important;
	font-family: var(--dpf-font) !important;
}

body.dp-bk #daplace-dates-anchor .date-picker-wrapper th.month-name,
body.dp-bk #daplace-dates-anchor .date-picker-wrapper .month-wrapper table .caption th.month-name {
	font-size: 18px !important;
	font-weight: 600 !important;
	text-transform: capitalize !important;
}

body.dp-bk #daplace-dates-anchor .date-picker-wrapper .month-wrapper table .week-name,
body.dp-bk #daplace-dates-anchor .date-picker-wrapper .month-wrapper table:not(.month1) .week-name {
	background-color: var(--dpf-white) !important;
	border-top: 2px solid var(--dpf-navy);
	border-bottom: 2px solid var(--dpf-navy);
}

body.dp-bk #daplace-dates-anchor .date-picker-wrapper .month-wrapper table .week-name th {
	padding: 0 !important;
	line-height: 36px !important;
	color: var(--dpf-navy) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
	text-transform: capitalize !important;
}

body.dp-bk #daplace-dates-anchor .date-picker-wrapper table .caption .next,
body.dp-bk #daplace-dates-anchor .date-picker-wrapper table .caption .prev {
	background-color: transparent !important;
	color: var(--dpf-navy) !important;
}

body.dp-bk #daplace-dates-anchor .date-picker-wrapper .month-wrapper table .day,
body.dp-bk #daplace-dates-anchor .date-picker-wrapper .month-wrapper table .day.toMonth.valid {
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: var(--dpf-navy) !important;
	font-family: var(--dpf-font) !important;
	font-weight: 400 !important;
}

body.dp-bk #daplace-dates-anchor .date-picker-wrapper .month-wrapper table .day.invalid,
body.dp-bk #daplace-dates-anchor .date-picker-wrapper .month-wrapper table .day.toMonth.invalid,
body.dp-bk #daplace-dates-anchor .date-picker-wrapper .month-wrapper table .day.lastMonth,
body.dp-bk #daplace-dates-anchor .date-picker-wrapper .month-wrapper table .day.nextMonth {
	background: transparent !important;
	color: rgba(33, 57, 77, .35) !important;
}

body.dp-bk #daplace-dates-anchor .date-picker-wrapper .month-wrapper table .day.real-today {
	border: 0 !important;
	font-weight: 600 !important;
	text-decoration: underline;
}

body.dp-bk #daplace-dates-anchor .date-picker-wrapper .month-wrapper table .day.toMonth.valid:hover,
body.dp-bk #daplace-dates-anchor .date-picker-wrapper .month-wrapper table .day.toMonth.hovering,
body.dp-bk #daplace-dates-anchor .date-picker-wrapper .month-wrapper table .day.checked {
	background-color: var(--dpf-grey) !important;
	color: var(--dpf-navy) !important;
}

body.dp-bk #daplace-dates-anchor .date-picker-wrapper .month-wrapper table .day.first-date-selected,
body.dp-bk #daplace-dates-anchor .date-picker-wrapper .month-wrapper table .day.last-date-selected,
body.dp-bk #daplace-dates-anchor .date-picker-wrapper .month-wrapper table .first-date-selected,
body.dp-bk #daplace-dates-anchor .date-picker-wrapper .month-wrapper table .last-date-selected {
	border-radius: 0 !important;
	background-color: var(--dpf-navy) !important;
	color: var(--dpf-white) !important;
}

body.dp-bk #daplace-dates-anchor .date-picker-wrapper .gap {
	background: rgba(33, 57, 77, .15) !important;
}

body.dp-bk #daplace-dates-anchor .date-picker-wrapper .footer {
	border-top: 2px solid var(--dpf-navy) !important;
	background: transparent !important;
	color: var(--dpf-navy) !important;
	font-family: var(--dpf-font) !important;
}

@media (max-width: 680px) {
	body.dp-bk #daplace-dates-anchor .date-picker-wrapper {
		width: calc(100vw - 2 * var(--dpf-gutter)) !important;
	}
}

/* ── Premium and villa layout (Figma frames 14 / 149) ──────────────────────
   Chosen in the property's "scheda" (Schede strutture). The cover photo carries the
   name; then type line and address, figures, description, "verifica disponibilità"
   (gold), floor plan, the scheda's text-and-photo sections, amenities, map. */
body.dp-bk .site-content {
	overflow-x: clip; /* the full-width cover photo below */
}

body.dp-bk .dpf-hero {
	position: relative;
	display: flex;
	align-items: center;
	min-height: 262px;
	margin: 4px calc(50% - 50vw) 0;
	padding: 0 var(--dpf-gutter);
	background: var(--dpf-navy) center / cover no-repeat;
}

body.dp-bk .dpf-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.15);
}

body.dp-bk .entry-content h1.dpf-hero__title {
	position: relative;
	max-width: 330px;
	margin: 0;
	/* !important: the plugin styles .daplace-property-title (navy Futura) with !important. */
	color: var(--dpf-beige) !important;
	font-family: var(--dpf-serif) !important;
	font-size: 50px !important;
	font-weight: 400 !important;
	line-height: 51px !important;
	letter-spacing: 0 !important;
	text-transform: uppercase;
	/* Whole words only ("APARTMENT" must not break): the shared title style breaks anywhere. */
	overflow-wrap: normal !important;
	word-break: normal !important;
}

body.dp-bk .dpf-prop__head--premium,
body.dp-bk .dpf-prop__head--villa {
	padding-top: 29px;
}

body.dp-bk .entry-content .dpf-prop__head--premium .dpf-prop__type,
body.dp-bk .entry-content .dpf-prop__head--villa .dpf-prop__type {
	margin-top: 0;
}

body.dp-bk .dpf-prop__body--premium .dpf-prop__desc,
body.dp-bk .dpf-prop__body--villa .dpf-prop__desc {
	margin-top: 40px;
}

body.dp-bk .dpf-prop__body--premium .dpf-prop__side,
body.dp-bk .dpf-prop__body--villa .dpf-prop__side {
	margin-top: 4px;
}

body.dp-bk .entry-content .dpf-prop__body--premium .dpf-avail-open,
body.dp-bk .entry-content .dpf-prop__body--villa .dpf-avail-open {
	border-color: var(--dpf-gold);
	background: var(--dpf-gold);
	color: var(--dpf-white);
}

/* Floor plan (every layout) and the scheda's sections */
body.dp-bk .dpf-plan {
	margin: 40px 0 0;
}

body.dp-bk .dpf-prop__body--premium .dpf-plan,
body.dp-bk .dpf-prop__body--villa .dpf-plan {
	margin-top: 71px;
}

body.dp-bk .dpf-plan img {
	display: block;
	width: 100%;
	height: auto;
}

body.dp-bk .dpf-sections {
	margin: 70px calc(-1 * var(--dpf-gutter)) 0;
}

body.dp-bk .dpf-prop__body--premium .dpf-accordions,
body.dp-bk .dpf-prop__body--villa .dpf-accordions {
	margin-top: 56px;
}

/* Read more: the open text takes its full height (it kept the closed box and ran
   over the next sections). */
body.dp-bk .daplace-clamp-text.is-expanded {
	display: block;
	max-height: none;
	overflow: visible;
}

@media (min-width: 768px) {
	body.dp-bk .dpf-hero {
		min-height: 420px;
		padding-left: max(var(--dpf-gutter), calc(50vw - var(--dpf-max) / 2 + var(--dpf-gutter)));
	}

	body.dp-bk .entry-content h1.dpf-hero__title {
		max-width: 600px;
		font-size: 64px !important;
		line-height: 64px !important;
	}

	body.dp-bk .dpf-sections {
		margin-left: 0;
		margin-right: 0;
	}
}

@media (min-width: 1024px) {
	body.dp-bk .dpf-hero {
		min-height: 560px;
	}

	body.dp-bk .entry-content h1.dpf-hero__title {
		max-width: 760px;
		font-size: 80px !important;
		line-height: 80px !important;
	}

	body.dp-bk .dpf-prop__body--premium > .dpf-prop__side,
	body.dp-bk .dpf-prop__body--villa > .dpf-prop__side {
		margin-top: 38px;
	}
}
