/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */
.progress{position:relative;}.progress__track{min-width:100px;max-width:100%;height:16px;margin-top:5px;border:1px solid;background-color:#fff;}.progress__bar{width:3%;min-width:3%;max-width:100%;height:16px;background-color:#000;}.progress__description,.progress__percentage{overflow:hidden;margin-top:0.2em;color:#555;font-size:0.875em;}.progress__description{float:left;}[dir="rtl"] .progress__description{float:right;}.progress__percentage{float:right;}[dir="rtl"] .progress__percentage{float:left;}.progress--small .progress__track{height:7px;}.progress--small .progress__bar{height:7px;background-size:20px 20px;}
.ajax-progress{display:inline-block;padding:1px 5px 2px 5px;}[dir="rtl"] .ajax-progress{float:right;}.ajax-progress-throbber .throbber{display:inline;padding:1px 6px 2px;background:transparent url(/core/misc/throbber-active.svg) no-repeat 0 center;}.ajax-progress-throbber .message{display:inline;padding:1px 5px 2px;}tr .ajax-progress-throbber .throbber{margin:0 2px;}.ajax-progress-bar{width:16em;}.ajax-progress-fullscreen{position:fixed;z-index:1261;top:48.5%;left:49%;width:24px;height:24px;padding:4px;opacity:0.9;border-radius:7px;background-color:#232323;background-image:url(/core/misc/loading-small.svg);background-repeat:no-repeat;background-position:center center;}[dir="rtl"] .ajax-progress-fullscreen{right:49%;left:auto;}
.text-align-left{text-align:left;}.text-align-right{text-align:right;}.text-align-center{text-align:center;}.text-align-justify{text-align:justify;}.align-left{float:left;}.align-right{float:right;}.align-center{display:block;margin-right:auto;margin-left:auto;}
.container-inline div,.container-inline label{display:inline-block;}.container-inline .details-wrapper{display:block;}.container-inline .hidden{display:none;}
.clearfix::after{display:table;clear:both;content:"";}
.hidden{display:none;}.visually-hidden{position:absolute !important;overflow:hidden;clip:rect(1px,1px,1px,1px);width:1px;height:1px;word-wrap:normal;}.visually-hidden.focusable:active,.visually-hidden.focusable:focus-within{position:static !important;overflow:visible;clip:auto;width:auto;height:auto;}.invisible{visibility:hidden;}
.item-list__comma-list,.item-list__comma-list li{display:inline;}.item-list__comma-list{margin:0;padding:0;}.item-list__comma-list li::after{content:", ";}.item-list__comma-list li:last-child::after{content:"";}
.js .js-hide{display:none;}.js-show{display:none;}.js .js-show{display:block;}@media (scripting:enabled){.js-hide.js-hide{display:none;}.js-show{display:block;}}
.position-container{position:relative;}
.reset-appearance{margin:0;padding:0;border:0 none;background:transparent;line-height:inherit;-webkit-appearance:none;appearance:none;}
:root{--dpc-green:#017154;--dpc-green-hover:#015a44;--dpc-green-light:#e8f5f0;--dpc-black:#1b1c21;--dpc-text:#444444;--dpc-text-light:#666666;--dpc-white:#ffffff;--dpc-bg:#fafafa;--dpc-border:#e5e5e5;--dpc-success:#10b981;--dpc-error:#ef4444;--dpc-warning:#f59e0b;--shadow-sm:0 1px 2px rgba(0,0,0,0.05);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.1);--shadow-lg:0 10px 15px -3px rgba(0,0,0,0.1);--shadow-xl:0 20px 25px -5px rgba(0,0,0,0.1);--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--transition-fast:0.2s ease;--transition-smooth:0.3s cubic-bezier(0.4,0,0.2,1);}.booking-wizard-container{max-width:800px;margin:0 auto;padding:16px 20px 50px;}.booking-wizard-form{background:var(--dpc-white);border-radius:var(--radius-lg);padding:40px 48px;}@keyframes fadeInUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}.wizard-progress{display:flex;justify-content:center;align-items:flex-start;margin-bottom:40px;position:relative;padding:0;max-width:560px;margin-left:auto;margin-right:auto;}.wizard-progress::before{content:'';position:absolute;top:20px;left:calc(10% + 20px);right:calc(10% + 20px);height:2px;background:var(--dpc-border);z-index:0;}.wizard-step{display:flex;flex-direction:column;align-items:center;position:relative;z-index:1;flex:1;max-width:110px;}.step-number{width:40px;height:40px;border-radius:50%;background:var(--dpc-white);border:2px solid var(--dpc-border);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:600;color:var(--dpc-text-light);margin-bottom:10px;transition:var(--transition-smooth);}.step-label{font-size:13px;font-weight:500;color:var(--dpc-text-light);text-transform:uppercase;letter-spacing:0.5px;text-align:center;max-width:90px;line-height:1.3;transition:var(--transition-fast);}.wizard-step.active .step-number{background:var(--dpc-green);border-color:var(--dpc-green);color:var(--dpc-white);box-shadow:0 0 0 4px rgba(1,113,84,0.15);}.wizard-step.active .step-label{color:var(--dpc-green);font-weight:600;}.wizard-step.completed .step-number{background:var(--dpc-green);border-color:var(--dpc-green);color:var(--dpc-white);}.wizard-step.completed .step-label{color:var(--dpc-green);}.booking-wizard-form h2{font-family:"DM Serif Display",Georgia,serif;font-size:34px;font-weight:400;color:var(--dpc-black);margin:0 0 8px 0;text-align:center;line-height:1.2;}.step-subtitle{text-align:center;color:var(--dpc-text-light);font-size:17px;margin:0 0 36px 0;line-height:1.5;}.social-proof{text-align:center;margin-bottom:24px;}.social-proof .badge{display:inline-block;background:var(--dpc-green-light);color:var(--dpc-green);font-size:14px;font-weight:500;padding:8px 16px;border-radius:20px;}.product-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-bottom:24px;}.product-card{position:relative;background:var(--dpc-white);border:2px solid var(--dpc-border);border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition-smooth);overflow:hidden;text-align:left;display:block !important;}.product-card:hover{border-color:var(--dpc-green);transform:translateY(-2px);box-shadow:var(--shadow-lg);}.product-card.selected{border-color:var(--dpc-green);background:var(--dpc-green-light);box-shadow:0 0 0 4px rgba(1,113,84,0.1);}.product-card-image{width:100% !important;aspect-ratio:4/3;background:var(--dpc-bg);overflow:hidden;display:block !important;float:none !important;}.product-card-image img{width:100%;height:100%;object-fit:cover;transition:transform 0.3s ease;}.product-card:hover .product-card-image img{transform:scale(1.03);}.product-card-image .placeholder{color:var(--dpc-text-light);font-size:14px;font-weight:500;}.product-card-content{padding:20px 22px 24px;display:block !important;clear:both;}.product-card-title{font-family:"DM Serif Display",Georgia,serif;font-size:24px;font-weight:400;color:var(--dpc-black);margin-bottom:6px;}.product-card-price{font-size:18px;font-weight:600;color:var(--dpc-green);margin-bottom:16px;}.product-card-price span{font-size:14px;font-weight:400;color:var(--dpc-text-light);}.product-card-usps{list-style:none;padding:0;margin:0 0 16px 0;}.product-card-usps li{display:flex;align-items:flex-start;gap:10px;font-size:15px;color:var(--dpc-text);line-height:1.5;margin-bottom:8px;}.product-card-usps li::before{content:'✓';color:var(--dpc-green);font-weight:600;flex-shrink:0;font-size:14px;}.product-card-ideal{background:var(--dpc-green-light);color:var(--dpc-green);font-size:14px;font-weight:600;padding:8px 14px;border-radius:6px;display:inline-block;margin-top:8px;}.product-card-check{position:absolute;top:14px;right:14px;width:28px;height:28px;background:var(--dpc-green);border-radius:50%;display:none;align-items:center;justify-content:center;color:var(--dpc-white);font-size:14px;font-weight:700;box-shadow:0 2px 8px rgba(1,113,84,0.3);}.product-card.selected .product-card-check{display:flex;}.booking-wizard-form .form-radios{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:24px;}.booking-wizard-form .js-form-item.form-item-product-type{margin:0;}.booking-wizard-form .form-item-product-type input[type="radio"]{position:absolute;opacity:0;pointer-events:none;}.booking-wizard-form .form-item-product-type > label{display:block;border:2px solid var(--dpc-border);border-radius:var(--radius-lg);padding:24px;cursor:pointer;transition:var(--transition-smooth);background:var(--dpc-white);text-align:center;font-weight:600;color:var(--dpc-black);}.booking-wizard-form .form-item-product-type > label:hover{border-color:var(--dpc-green);box-shadow:var(--shadow-lg);transform:translateY(-2px);}.booking-wizard-form .form-item-product-type input[type="radio"]:checked + label{border-color:var(--dpc-green);background:var(--dpc-green-light);}.product-info{background:var(--dpc-bg);padding:20px 24px;border-radius:var(--radius-md);margin-top:24px;}.product-info p{margin:0 0 8px 0;font-size:14px;line-height:1.6;color:var(--dpc-text);}.product-info p:last-child{margin-bottom:0;}.product-info strong{color:var(--dpc-black);}.booking-wizard-form .form-item{margin-bottom:28px;}.booking-wizard-form .form-item > label{display:block;font-size:17px;font-weight:700;color:var(--dpc-black);margin-bottom:10px;}.booking-wizard-form .form-item > label .form-required{color:var(--dpc-error);}.booking-wizard-form .form-item .description{font-size:14px;color:var(--dpc-text-light);margin-top:8px;line-height:1.5;}.booking-wizard-form input[type="text"],.booking-wizard-form input[type="email"],.booking-wizard-form input[type="tel"],.booking-wizard-form input[type="date"],.booking-wizard-form select,.booking-wizard-form textarea{width:100%;height:56px;padding:16px 18px;font-size:17px;font-family:inherit;color:var(--dpc-black);background:var(--dpc-white);border:2px solid var(--dpc-border);border-radius:var(--radius-md);transition:var(--transition-fast);outline:none;box-sizing:border-box;}.booking-wizard-form textarea{height:auto;min-height:120px;resize:vertical;line-height:1.5;}.booking-wizard-form input::placeholder,.booking-wizard-form textarea::placeholder{color:#999;}.booking-wizard-form input:hover,.booking-wizard-form select:hover,.booking-wizard-form textarea:hover{border-color:#bbb;}.booking-wizard-form input:focus,.booking-wizard-form select:focus,.booking-wizard-form textarea:focus{border-color:var(--dpc-green);box-shadow:0 0 0 4px rgba(1,113,84,0.1);}.booking-wizard-form select{appearance:none;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 fill='%23666' d='M6 8L0 0h12z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 18px center;padding-right:48px;cursor:pointer;}.form-section{margin-bottom:36px;}.section-title{font-size:20px;font-weight:700;color:var(--dpc-black);margin:0 0 8px 0;}.section-description{font-size:16px;color:var(--dpc-text-light);margin:0 0 20px 0;line-height:1.5;}.address-row{display:grid;grid-template-columns:140px 1fr;gap:16px;}.address-row .form-item{margin-bottom:0;}.extras-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:12px;}.extra-card{background:var(--dpc-white);border:2px solid var(--dpc-border);border-radius:var(--radius-md);padding:20px;cursor:pointer;transition:var(--transition-smooth);position:relative;display:flex;flex-direction:column;}.extra-card:hover{border-color:var(--dpc-green);background:var(--dpc-green-light);}.extra-card .form-item{margin:0 0 8px 0;}.extra-card .form-type-checkbox{padding:0;border:none;background:transparent;}.extra-card .form-type-checkbox:hover{background:transparent;border:none;}.extra-card .form-type-checkbox input[type="checkbox"]{position:absolute;top:16px;right:16px;width:24px;height:24px;}.extra-card .form-type-checkbox label{font-size:16px;font-weight:600;color:var(--dpc-black);display:block;padding-right:40px;}.extra-card .extra-price{display:block;font-size:15px;font-weight:600;color:var(--dpc-green);margin:4px 0 8px 0;}.extra-card .extra-description{display:block;font-size:13px;color:var(--dpc-text-light);line-height:1.4;}.extra-card:has(input:checked){border-color:var(--dpc-green);background:var(--dpc-green-light);}.extra-card-custom{border-style:dashed;}.booking-wizard-form fieldset{border:none;padding:0;margin:32px 0 0 0;}.booking-wizard-form fieldset legend{font-size:18px;font-weight:600;color:var(--dpc-black);margin-bottom:20px;padding:0;display:flex;align-items:center;gap:8px;}.booking-wizard-form fieldset .form-item{margin-bottom:12px;}.booking-wizard-form .form-type-checkbox{position:relative;display:flex;align-items:flex-start;gap:14px;padding:16px 20px;background:var(--dpc-white);border:1px solid var(--dpc-border);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-fast);}.booking-wizard-form .form-type-checkbox:hover{border-color:var(--dpc-green);background:var(--dpc-green-light);}.booking-wizard-form .form-type-checkbox input[type="checkbox"]{width:20px;height:20px;margin:2px 0 0 0;accent-color:var(--dpc-green);cursor:pointer;flex-shrink:0;}.booking-wizard-form .form-type-checkbox label{flex:1;font-size:15px;font-weight:500;color:var(--dpc-black);cursor:pointer;margin:0;display:flex;justify-content:space-between;align-items:flex-start;}.booking-wizard-form .form-type-checkbox .description{font-size:13px;color:var(--dpc-text-light);font-weight:400;margin-top:4px;}.booking-wizard-form .form-type-checkbox:has(input:checked){border-color:var(--dpc-green);background:var(--dpc-green-light);}.running-total{background:var(--dpc-white);border:1px solid var(--dpc-border);border-radius:var(--radius-lg);padding:24px;margin-top:32px;box-shadow:var(--shadow-md);}.running-total h4{font-size:14px;font-weight:600;color:var(--dpc-text-light);text-transform:uppercase;letter-spacing:0.5px;margin:0 0 16px 0;display:flex;align-items:center;gap:8px;}.running-total-items{border-bottom:1px solid var(--dpc-border);padding-bottom:16px;margin-bottom:16px;}.running-total-row{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:var(--dpc-text);margin-bottom:8px;}.running-total-row:last-child{margin-bottom:0;}.running-total-row .price{font-weight:500;color:var(--dpc-black);}.running-total-row .price.free{color:var(--dpc-green);}.running-total-total{display:flex;justify-content:space-between;align-items:center;font-size:18px;font-weight:700;color:var(--dpc-black);}.running-total-total .price{color:var(--dpc-green);font-size:24px;}.booking-summary{margin-bottom:24px;}.summary-card{background:var(--dpc-white);border:1px solid var(--dpc-border);border-radius:var(--radius-md);padding:20px 24px;margin-bottom:16px;position:relative;}.summary-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--dpc-border);}.summary-card h3{font-size:13px;font-weight:600;color:var(--dpc-text-light);text-transform:uppercase;letter-spacing:0.5px;margin:0;display:flex;align-items:center;gap:8px;}.summary-card .edit-link{font-size:13px;color:var(--dpc-green);text-decoration:none;font-weight:500;}.summary-card .edit-link:hover{text-decoration:underline;}.summary-card p{margin:6px 0;font-size:15px;color:var(--dpc-black);line-height:1.6;}.summary-card p strong{color:var(--dpc-text-light);font-weight:400;display:inline-block;min-width:100px;}.summary-section{padding:20px 0;border-bottom:1px solid var(--dpc-border);}.summary-section:first-child{padding-top:0;}.summary-section:last-child{border-bottom:none;padding-bottom:0;}.summary-section h3{font-size:13px;font-weight:600;color:var(--dpc-text-light);text-transform:uppercase;letter-spacing:0.5px;margin:0 0 12px 0;}.summary-section p{margin:6px 0;font-size:15px;color:var(--dpc-black);}.summary-section p strong{color:var(--dpc-text-light);font-weight:400;min-width:100px;display:inline-block;}.summary-value{font-size:16px;color:var(--dpc-black);font-weight:500;}.summary-row{display:flex;gap:8px;margin-bottom:8px;font-size:15px;line-height:1.5;}.summary-row:last-child{margin-bottom:0;}.summary-row .label{color:var(--dpc-text-light);min-width:90px;}.summary-row .value{color:var(--dpc-black);font-weight:500;}.pricing-section{margin-top:24px;}.pricing-note{font-size:13px;color:var(--dpc-text-light);margin-top:16px;font-style:italic;}.pricing-table .free{color:var(--dpc-green);font-weight:600;}.pricing-summary{background:linear-gradient(135deg,#f8fdfb 0%,var(--dpc-green-light) 100%);border:2px solid var(--dpc-green);border-radius:var(--radius-lg);padding:28px;margin-top:24px;}.pricing-summary .summary-section{padding:0;border:none;}.pricing-summary h3{margin-bottom:20px;color:var(--dpc-green);}.pricing-summary h3.pricing-title{font-size:20px;font-weight:700;color:var(--dpc-green);margin-bottom:24px;}.pricing-table{width:100%;border-collapse:collapse;}.pricing-table td{padding:12px 0;font-size:15px;color:var(--dpc-text);border-bottom:1px solid rgba(1,113,84,0.15);vertical-align:top;}.pricing-table td:last-child{text-align:right;font-weight:500;color:var(--dpc-black);white-space:nowrap;}.pricing-table .travel-detail{display:block;font-size:12px;color:var(--dpc-text-light);margin-top:4px;font-weight:400;}.pricing-table tr:last-child td{border-bottom:none;}.pricing-table tr.subtotal td{padding-top:16px;font-weight:600;color:var(--dpc-black);border-top:1px solid var(--dpc-border);}.pricing-table tr.total td{padding-top:20px;font-size:20px;font-weight:700;border-top:2px solid var(--dpc-green);border-bottom:none;}.pricing-table tr.total td:last-child{font-size:28px;color:var(--dpc-green);}.pricing-summary .note{font-size:13px;color:var(--dpc-text-light);margin-top:20px;font-style:italic;}.terms-notice{margin-top:20px;padding-top:16px;border-top:1px solid rgba(1,113,84,0.2);font-size:14px;color:var(--dpc-text);text-align:center;line-height:1.5;}.terms-notice a{color:var(--dpc-green);text-decoration:underline;font-weight:500;}.info-box{background:#fef3c7;border-left:4px solid var(--dpc-warning);border-radius:var(--radius-sm);padding:16px 20px;margin:24px 0;}.info-box p{margin:0;font-size:14px;color:#92400e;line-height:1.6;}.info-box strong{font-weight:600;}.booking-wizard-form .form-actions{display:flex;justify-content:space-between;align-items:center;margin-top:36px;padding-top:28px;border-top:1px solid var(--dpc-border);gap:20px;}.booking-wizard-form .form-actions input[type="submit"]{padding:18px 40px;font-size:17px;font-weight:600;font-family:inherit;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-smooth);border:none;min-height:56px;}.booking-wizard-form .form-actions input[type="submit"][value="Volgende"],.booking-wizard-form .form-actions input[type="submit"][value="Bekijk overzicht"],.booking-wizard-form .form-actions input[type="submit"][value="Boeking aanvragen"],.booking-wizard-form .form-actions input[type="submit"][value="Aanvraag versturen"],.booking-wizard-form .form-actions input[type="submit"][value="Verstuur vrijblijvende aanvraag"]{background:linear-gradient(135deg,var(--dpc-green) 0%,var(--dpc-green-hover) 100%);color:var(--dpc-white);box-shadow:0 4px 14px rgba(1,113,84,0.3);}.booking-wizard-form .form-actions input[type="submit"][value="Volgende"]:hover,.booking-wizard-form .form-actions input[type="submit"][value="Bekijk overzicht"]:hover,.booking-wizard-form .form-actions input[type="submit"][value="Boeking aanvragen"]:hover,.booking-wizard-form .form-actions input[type="submit"][value="Aanvraag versturen"]:hover,.booking-wizard-form .form-actions input[type="submit"][value="Verstuur vrijblijvende aanvraag"]:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(1,113,84,0.4);}.booking-wizard-form .form-actions input[type="submit"][value="Vorige"]{background:transparent;color:var(--dpc-text-light);border:2px solid var(--dpc-border);box-shadow:none;}.booking-wizard-form .form-actions input[type="submit"][value="Vorige"]:hover{border-color:var(--dpc-text-light);color:var(--dpc-black);transform:none;}.booking-info-box{display:flex;gap:20px;background:linear-gradient(135deg,#f0f9ff 0%,#e0f2fe 100%);border:2px solid #7dd3fc;border-radius:var(--radius-lg);padding:24px 28px;margin-bottom:32px;}.booking-info-box__icon{font-size:32px;flex-shrink:0;line-height:1;}.booking-info-box__content{flex:1;}.booking-info-box__content h3{font-size:18px;font-weight:700;color:var(--dpc-black);margin:0 0 12px 0;text-transform:none;letter-spacing:normal;}.booking-info-box__content p{font-size:15px;color:var(--dpc-text);line-height:1.6;margin:0 0 12px 0;}.booking-info-box__content ol{margin:0 0 12px 0;padding-left:20px;}.booking-info-box__content ol li{font-size:14px;color:var(--dpc-text);line-height:1.7;margin-bottom:4px;}.booking-info-box__note{font-size:14px !important;font-weight:600;color:#0369a1 !important;margin-bottom:0 !important;}.trust-indicators{display:flex;justify-content:center;flex-wrap:wrap;gap:24px;margin-top:32px;padding-top:24px;border-top:1px solid var(--dpc-border);}.trust-indicator{font-size:14px;color:var(--dpc-text-light);display:flex;align-items:center;gap:6px;white-space:nowrap;}.trust-indicators span{font-size:14px;color:var(--dpc-text-light);display:flex;align-items:center;gap:6px;}.booking-wizard-form .form-item--error input,.booking-wizard-form .form-item--error select,.booking-wizard-form .form-item--error textarea,.booking-wizard-form .error{border-color:var(--dpc-error) !important;}.booking-wizard-form .form-item--error-message,.booking-wizard-form .error-message{color:var(--dpc-error);font-size:13px;margin-top:6px;display:flex;align-items:center;gap:6px;}.booking-wizard-form .form-item--error-message::before{content:'⚠';}.booking-wizard-form .messages{padding:16px 20px;border-radius:var(--radius-sm);margin-bottom:24px;font-size:14px;}.booking-wizard-form .messages--error{background:#fef2f2;border:1px solid var(--dpc-error);color:#b91c1c;}.booking-wizard-form .messages--status{background:var(--dpc-green-light);border:1px solid var(--dpc-green);color:var(--dpc-green-hover);}.booking-confirmation{text-align:center;padding:20px 0;}.confirmation-header{margin-bottom:40px;}.confirmation-icon{width:80px;height:80px;background:var(--dpc-green-light);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;margin-bottom:24px;animation:scaleIn 0.4s ease;}.confirmation-icon svg{width:40px;height:40px;color:var(--dpc-green);}.confirmation-header h1{font-family:"DM Serif Display",Georgia,serif;font-size:32px;color:var(--dpc-black);margin:0 0 12px 0;}.confirmation-intro{font-size:16px;color:var(--dpc-text);max-width:450px;margin:0 auto;line-height:1.6;}.confirmation-details{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:32px;text-align:left;}.detail-card{background:var(--dpc-bg);border-radius:var(--radius-md);padding:24px;}.detail-card--highlight{background:linear-gradient(135deg,#f8fdfb 0%,var(--dpc-green-light) 100%);border:1px solid var(--dpc-green);}.detail-card h3{font-size:13px;font-weight:600;color:var(--dpc-text-light);text-transform:uppercase;letter-spacing:0.5px;margin:0 0 16px 0;}.detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}.detail-item{display:flex;flex-direction:column;gap:4px;}.detail-label{font-size:12px;color:var(--dpc-text-light);}.detail-value{font-size:15px;font-weight:500;color:var(--dpc-black);}.detail-content p{margin:0 0 8px 0;font-size:15px;color:var(--dpc-black);}.price-breakdown{display:flex;flex-direction:column;gap:10px;}.price-row{display:flex;justify-content:space-between;font-size:14px;color:var(--dpc-text);}.price-row--total{padding-top:14px;margin-top:6px;border-top:2px solid var(--dpc-green);font-size:18px;font-weight:700;color:var(--dpc-green);}.confirmation-footer{background:var(--dpc-bg);padding:28px;border-radius:var(--radius-md);}.confirmation-footer p{margin:0 0 10px 0;font-size:15px;color:var(--dpc-text);}.confirmation-note{margin-bottom:24px !important;}.confirmation-footer .button{display:inline-block;padding:16px 32px;background:linear-gradient(135deg,var(--dpc-green) 0%,var(--dpc-green-hover) 100%);color:var(--dpc-white);text-decoration:none;border-radius:var(--radius-md);font-weight:600;font-size:16px;transition:var(--transition-smooth);box-shadow:0 4px 14px rgba(1,113,84,0.3);}.confirmation-footer .button:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(1,113,84,0.4);}@media (max-width:768px){.booking-wizard-container{padding:16px 12px 60px;}.booking-wizard-form{padding:28px 20px;border-radius:var(--radius-md);}.booking-wizard-form h2{font-size:24px;}.step-subtitle{font-size:15px;}.wizard-progress{margin-bottom:32px;padding:0 10px;}.wizard-progress::before{left:30px;right:30px;}.step-number{width:32px;height:32px;font-size:13px;}.step-label{font-size:10px;max-width:60px;}.product-cards,.booking-wizard-form .form-radios{grid-template-columns:1fr;}.product-card-content{padding:16px 20px 20px;}.booking-wizard-form input[type="text"],.booking-wizard-form input[type="email"],.booking-wizard-form input[type="tel"],.booking-wizard-form input[type="date"],.booking-wizard-form select,.booking-wizard-form textarea{height:52px;padding:14px 16px;font-size:16px;}.booking-wizard-form .form-actions{flex-direction:column-reverse;gap:12px;}.booking-wizard-form .form-actions input[type="submit"]{width:100%;min-height:52px;padding:16px 24px;font-size:16px;}.summary-section p strong{display:block;margin-bottom:4px;}.confirmation-details{grid-template-columns:1fr;}.detail-grid{grid-template-columns:1fr;}.trust-indicators{flex-direction:column;gap:12px;align-items:center;}.booking-info-box{flex-direction:column;gap:16px;padding:20px;}.booking-info-box__icon{font-size:28px;}.booking-info-box__content h3{font-size:16px;}.booking-info-box__content p,.booking-info-box__content ol li{font-size:14px;}.extras-grid{grid-template-columns:1fr;}.extra-card{padding:18px;min-height:48px;}.extra-card .form-type-checkbox input[type="checkbox"]{width:28px;height:28px;top:18px;right:18px;}.address-row{grid-template-columns:1fr;gap:0;}.address-row .form-item{margin-bottom:20px;}.pricing-table td{padding:14px 0;font-size:14px;}.pricing-summary{padding:20px;}}@media (max-width:480px){.booking-wizard-container{padding:12px 8px 50px;}.booking-wizard-form{padding:24px 16px;}.booking-wizard-form h2{font-size:22px;line-height:1.3;}.step-subtitle{font-size:14px;}.step-label{display:none;}.wizard-progress::before{left:20px;right:20px;top:16px;}.step-number{width:32px;height:32px;}.product-card-title{font-size:18px;}.product-card-usps li{font-size:13px;}.product-card-price{font-size:15px;}.booking-wizard-form .form-item > label{font-size:15px;}.section-title{font-size:16px;}.section-description{font-size:14px;}.pricing-table td{font-size:13px;padding:12px 0;}.pricing-table td:last-child{font-size:13px;}.pricing-table tr.total td{font-size:16px;padding-top:16px;}.pricing-table tr.total td:last-child{font-size:20px;}.pricing-summary h3.pricing-title{font-size:18px;}.summary-row{flex-direction:column;gap:2px;}.summary-row .label{min-width:auto;font-size:12px;}.summary-row .value{font-size:14px;}.confirmation-header h1{font-size:22px;}.confirmation-intro{font-size:14px;}.detail-card{padding:18px;}.running-total{padding:18px;}.running-total-total .price{font-size:20px;}}@supports (-webkit-touch-callout:none){.booking-wizard-form input[type="text"],.booking-wizard-form input[type="email"],.booking-wizard-form input[type="tel"],.booking-wizard-form input[type="date"],.booking-wizard-form select,.booking-wizard-form textarea{font-size:16px !important;}}.booking-wizard-form input[type="date"]{-webkit-appearance:none;appearance:none;min-height:52px;}.booking-wizard-form select{-webkit-appearance:none;appearance:none;}.booking-wizard-form .form-actions input[type="submit"]{-webkit-appearance:none;appearance:none;-webkit-border-radius:var(--radius-md);border-radius:var(--radius-md);}.booking-wizard-container{-webkit-overflow-scrolling:touch;}.product-card,.extra-card,.booking-wizard-form .form-actions input[type="submit"]{-webkit-tap-highlight-color:rgba(1,113,84,0.1);}.booking-wizard-form.is-loading{position:relative;pointer-events:none;}.booking-wizard-form.is-loading::after{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(255,255,255,0.8);z-index:100;}.booking-wizard-form.is-loading::before{content:'';position:absolute;top:50%;left:50%;width:40px;height:40px;margin:-20px 0 0 -20px;border:3px solid var(--dpc-border);border-top-color:var(--dpc-green);border-radius:50%;z-index:101;animation:spin 0.8s linear infinite;}@keyframes spin{to{transform:rotate(360deg);}}.booking-wizard-form .form-actions input[type="submit"].is-loading{position:relative;color:transparent !important;pointer-events:none;}.booking-wizard-form .form-actions input[type="submit"].is-loading::after{content:'';position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid rgba(255,255,255,0.3);border-top-color:#fff;border-radius:50%;animation:spin 0.8s linear infinite;}.wizard-step{transition:all 0.3s ease;}.wizard-step.completed .step-number,.wizard-step.active .step-number{transition:all 0.3s ease;}.booking-wizard-form .form-section,.booking-wizard-form .product-cards,.booking-wizard-form .extras-grid,.booking-wizard-form .booking-summary{animation:fadeIn 0.4s ease;}@keyframes fadeIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}.booking-wizard-form input:focus-visible,.booking-wizard-form select:focus-visible,.booking-wizard-form textarea:focus-visible{outline:2px solid var(--dpc-green);outline-offset:2px;}.booking-wizard-form .form-actions input[type="submit"]:focus-visible{outline:2px solid var(--dpc-green);outline-offset:3px;}.product-card:focus-visible,.extra-card:focus-visible{outline:2px solid var(--dpc-green);outline-offset:2px;}.booking-wizard-form input[type="checkbox"]:focus-visible{outline:2px solid var(--dpc-green);outline-offset:2px;}.booking-wizard-form .form-item--error input,.booking-wizard-form .form-item--error select,.booking-wizard-form .form-item--error textarea{animation:shake 0.4s ease;}@keyframes shake{0%,100%{transform:translateX(0);}20%,60%{transform:translateX(-5px);}40%,80%{transform:translateX(5px);}}.booking-wizard-form .form-item--error-message{animation:slideDown 0.3s ease;}@keyframes slideDown{from{opacity:0;transform:translateY(-10px);}to{opacity:1;transform:translateY(0);}}.booking-wizard-form .form-actions input[type="submit"]:disabled{opacity:0.7;cursor:not-allowed;}@supports (padding-bottom:env(safe-area-inset-bottom)){.booking-wizard-container{padding-bottom:calc(50px + env(safe-area-inset-bottom));}}@media print{.booking-wizard-form{box-shadow:none;}}
