/* FiPark — versione flat, CSS prefissato per integrazione WordPress */
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;600;700;800&display=swap');

.fp-wrap,.fp-wrap *{box-sizing:border-box}

.fp-wrap{max-width:1280px;margin:0 auto;--fp-blue:#4fc6e8;--fp-dark:#1f296e;--fp-line:#cdd3dc;--fp-soft:#f5f7fa;font-family:'Roboto',Arial,sans-serif;color:var(--fp-dark)}
.fp-wrap *{border-radius:0}
.fp-card{background:#fff;border:1px solid #dce1e8;box-shadow:none;padding:36px 40px;border-top: 4px solid #68d2e8 !important;border-radius: 10px}
.fp-title{font-size:clamp(25px,2.5vw,40px);font-weight:900 !important;letter-spacing:-.5px;line-height:1.2;color:var(--fp-dark);margin:0 0 9px;text-transform: none !important}
.fp-sub{font-size:16px;line-height:1.6;color:#4e5578;margin:0 0 29px}
.fp-top-row{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:22px;align-items:start}
.fp-bottom-row{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(95px,.74fr) minmax(0,1.45fr) minmax(95px,.74fr) minmax(145px,1fr);gap:12px;align-items:end;margin-top:23px}
.fp-field{min-width:0}.fp-field label,.fp-vehicle-title{display:block;color:var(--fp-dark);font-size:16px;font-weight:700;letter-spacing:0;margin:0 0 10px}
.fp-control{width:100%;min-width:0;height:54px;padding:0 15px;border:1px solid var(--fp-line);background:#fff;color:var(--fp-dark);font:400 14px 'Roboto',Arial,sans-serif;box-shadow:none;transition:border-color .15s}
/* Freccia personalizzata: 18px di margine dal bordo destro */
.fp-wrap select.fp-control{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:46px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231f296e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 18px center;background-size:16px 16px;color: #1f296e !important;}
.fp-control:hover{border-color:var(--fp-dark)}
.fp-control:focus{outline:2px solid var(--fp-blue);outline-offset:0;border-color:var(--fp-dark);box-shadow:none}
.fp-button{width:100%;height:54px;background:var(--fp-dark);color:#fff;border:1px solid var(--fp-dark);font:700 13px 'Roboto',Arial,sans-serif;letter-spacing:.045em;cursor:pointer;box-shadow:none;transition:background .15s,color .15s}
.fp-button:hover{background:#151c50;box-shadow:none}.fp-button:active{background:#11163d;transform:none}
.fp-button:focus-visible,.fp-vehicle-btn:focus-visible{outline:3px solid var(--fp-blue);outline-offset:2px}
.fp-vehicles{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fp-vehicle-btn{min-width:0;min-height:54px;padding:12px 15px;border:0;background-color:#f2f2f2;color:#1f296e;font:600 14px 'Roboto',Arial,sans-serif;cursor:pointer;box-shadow:none;transition:background-color .15s ease}
.fp-vehicle-btn:hover:not(:disabled){background-color:#68d2e8;color:#1f296e;border:0}
.fp-vehicle-btn[aria-pressed="true"],.fp-vehicle-btn[aria-pressed="true"]:hover{background-color:#1f296e;color:#ffffff;border:0;box-shadow:none;font-weight:700}
.fp-vehicle-btn:disabled{opacity:.35;cursor:not-allowed}
.fp-result{margin-top:28px;padding:25px 27px;border:0;border-left:20px solid var(--fp-dark);background:#f1f3f7;box-shadow:none}
.fp-result[hidden],.fp-vehicle[hidden],.fp-banner[hidden]{display:none}
.fp-result .fp-price{font-size:clamp(32px,4vw,43px);line-height:clamp(32px,4vw,43px);font-weight:800;letter-spacing:-1px;color:var(--fp-dark);margin:15px 0}
.fp-result .fp-label{font-size:16px;font-weight:700;color:var(--fp-dark);text-transform:uppercase;letter-spacing:.04em}
.fp-note{font-size:12px;color:#4f5677;line-height:1.6;margin:14px 0 0}
.fp-hint{font-size:13px;color:#4f5677;margin:8px 0 0}
.fp-error{color:#a42d36;font-size:16px;margin:17px 0 0}
.fp-banner{font-size:12px;line-height:1.5;color:#674b13;background:#fff6dd;border:1px solid #dbbb76;padding:11px 13px;margin-top:14px}
.fp-preview{font-size:12px;color:#5a6381;margin-top:15px}
@media(max-width:1040px){.fp-card{padding:29px}.fp-bottom-row{grid-template-columns:minmax(0,1fr) 110px minmax(0,1fr) 110px}.fp-action{grid-column:1/-1}}
@media(max-width:650px){.fp-card{padding:24px 18px}.fp-top-row{grid-template-columns:1fr;gap:21px}.fp-bottom-row{grid-template-columns:minmax(0,1fr);gap:14px 10px}.fp-action{grid-column:1/-1}.fp-sub{margin-bottom:24px}.fp-result{padding:20px}}
@media(max-width:370px){.fp-bottom-row{grid-template-columns:minmax(0,1fr);}.fp-control{padding:0 8px;font-size:16px}}


/* Menu orari: sei opzioni visibili, scroll verticale su desktop e mobile */
.fp-time-menu{position:relative;min-width:0}
.fp-time-trigger{display:none;width:100%;height:54px;padding:0 46px 0 15px;text-align:left;align-items:center;border:1px solid var(--fp-line);background:#fff;color:var(--fp-dark);font:400 14px 'Roboto',Arial,sans-serif;cursor:pointer;position:relative}
.fp-time-trigger::after{content:"";position:absolute;right:18px;top:50%;width:16px;height:16px;transform:translateY(-50%);background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231f296e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center/contain no-repeat}
.fp-time-trigger:hover,.fp-time-trigger[aria-expanded="true"]{border-color:var(--fp-dark)}
.fp-time-trigger:focus-visible{outline:2px solid var(--fp-blue);outline-offset:0}
.fp-time-options{position:absolute;left:0;right:0;top:calc(100% - 1px);z-index:80;background:#fff;border:1px solid var(--fp-dark);height:240px;max-height:240px;overflow-y:auto;overscroll-behavior:contain;box-shadow:0 5px 12px rgba(31,41,110,.08)}
.fp-time-options[hidden]{display:none}
.fp-time-option{display:flex;align-items:center;min-height:40px;width:100%;padding:0 15px;border:0;background:#fff;color:var(--fp-dark);font:400 14px 'Roboto',Arial,sans-serif;text-align:left;cursor:pointer}
.fp-time-option:hover,.fp-time-option.is-focused{background:#e9f8fc}
.fp-time-option[aria-selected="true"]{background:var(--fp-blue);color:var(--fp-dark);font-weight:700}
/* Il picker personalizzato e attivo a qualsiasi larghezza; il select nativo
   resta nel DOM come fonte dei valori, ma non viene mostrato. */
.fp-time-menu > select.fp-control{display:none}
.fp-time-menu > .fp-time-trigger{display:flex}
.fp-time-menu > .fp-time-options[hidden]{display:none}

/* Mobile: data + ora per ogni sosta, due colonne contenute nel box. */
@media(max-width:650px){
  .fp-wrap{width:100%;min-width:0;max-width:100%}
  .fp-card{min-width:0;padding:18px 12px;margin: 0px 20px}
  .fp-top-row{grid-template-columns:minmax(0,1fr);gap:14px}
  .fp-bottom-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.9fr);gap:12px 8px;margin-top:16px;align-items:end}
  .fp-bottom-row > .fp-date,.fp-bottom-row > .fp-time{grid-column:auto;min-width:0;max-width:100%}
  .fp-bottom-row > .fp-action{grid-column:1/-1;min-width:0}
  .fp-field{min-width:0;max-width:100%}
  .fp-field label,.fp-vehicle-title{font-size:14px;margin-bottom:7px}
  .fp-control,.fp-time-trigger{height:46px;min-width:0;max-width:100%;font-size:16px}
  .fp-control{padding:0 5px}
  .fp-wrap input[type="date"].fp-control{display:block;width:100%;min-width:0;max-width:100%;-webkit-appearance:none;appearance:none;font-size:14px;padding:0 4px}
  .fp-wrap input[type="date"].fp-control::-webkit-date-and-time-value{text-align:left;min-width:0}
  .fp-wrap input[type="date"].fp-control::-webkit-datetime-edit{padding:0;min-width:0}
  .fp-wrap input[type="date"].fp-control::-webkit-calendar-picker-indicator{margin:0 0 0 2px;padding:0;width:14px;flex-shrink:0}
  .fp-time-trigger{padding:0 28px 0 9px;text-align:left}
  .fp-time-trigger::after{right:8px;width:14px;height:14px}
  .fp-time-options{height:240px;max-height:240px;left:0;right:0;z-index:100;box-shadow:none}
  .fp-time-option{min-height:40px;font-size:14px;padding:0 9px}
  .fp-time-menu:focus-within{z-index:101}
  .fp-vehicles{gap:8px}
  .fp-vehicle-btn{min-height:46px;padding:8px;font-size:13px}
  .fp-button{height:46px}
  .fp-result{margin-top:18px;padding:16px;border-left-width:20px}
  .fp-sub{margin-bottom:17px}
}
@media(max-width:370px){
  .fp-card{padding:16px 9px}
  .fp-bottom-row{grid-template-columns:minmax(0,1.55fr) minmax(0,.85fr);column-gap:6px}
  .fp-wrap input[type="date"].fp-control{font-size:13px;padding:0 2px}
  .fp-field label,.fp-vehicle-title{font-size:13px}
}
