.fgbe-booking-box{margin:24px 0;padding:20px;border:1px solid rgba(13,46,64,.12);border-radius:22px;background:linear-gradient(180deg,#fff,#f7fbfc);box-shadow:0 18px 45px rgba(13,46,64,.08);color:#102b3f}.fgbe-booking-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(13,46,64,.1);padding-bottom:14px;margin-bottom:16px}.fgbe-booking-head span{display:inline-flex;border:1px solid rgba(25,147,170,.22);background:#ecfbfc;color:#11717f;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.fgbe-booking-head strong{font-size:22px;line-height:1.1}.fgbe-booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.fgbe-booking-grid p{margin:0}.fgbe-booking-grid label{display:block;font-size:12px;font-weight:800;color:#102b3f;text-transform:uppercase;letter-spacing:.05em;margin:0 0 6px}.fgbe-booking-grid input,.fgbe-booking-grid select,.fgbe-booking-grid textarea{width:100%;border:1px solid rgba(13,46,64,.18);border-radius:14px;padding:13px 14px;background:#fff;color:#102b3f;box-shadow:0 4px 14px rgba(13,46,64,.04)}.fgbe-booking-grid input:focus,.fgbe-booking-grid select:focus,.fgbe-booking-grid textarea:focus{outline:none;border-color:#1595a3;box-shadow:0 0 0 4px rgba(21,149,163,.12)}.fgbe-wide{grid-column:1/-1}.fgbe-policy{margin-top:14px;border-radius:16px;padding:13px 14px;background:#fff8e8;border:1px solid rgba(196,149,59,.25);color:#5a4317;font-size:14px}.fgbe-thankyou{margin:24px 0;padding:18px;border-radius:18px;background:#f7fbfc;border:1px solid rgba(13,46,64,.12)}.fgbe-search{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end;padding:18px;border-radius:22px;background:#fff;box-shadow:0 16px 40px rgba(13,46,64,.08)}.fgbe-search label{display:block;font-weight:800;font-size:12px;text-transform:uppercase;margin-bottom:5px}.fgbe-search input{width:100%;padding:13px;border:1px solid rgba(13,46,64,.16);border-radius:14px}.fgbe-search button{border:0;border-radius:999px;background:#102b3f;color:#fff;padding:14px 22px;font-weight:800;cursor:pointer}.fgbe-experience-grid{display:grid;grid-template-columns:repeat(var(--fgbe-cols,3),minmax(0,1fr));gap:18px}.fgbe-exp-card{border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 18px 44px rgba(13,46,64,.1)}.fgbe-exp-card a{text-decoration:none;color:inherit;display:block}.fgbe-exp-card img{width:100%;height:220px;object-fit:cover;display:block}.fgbe-exp-card div{padding:16px}.fgbe-exp-card span{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#1595a3;font-weight:900}.fgbe-exp-card h3{margin:6px 0;font-size:22px}.fgbe-exp-card p{margin:0;font-weight:800;color:#102b3f}@media(max-width:767px){.fgbe-booking-head{flex-direction:column}.fgbe-booking-grid,.fgbe-search,.fgbe-experience-grid{grid-template-columns:1fr}.fgbe-booking-box{border-radius:18px;padding:16px}.fgbe-wide{grid-column:auto}}

/* v1.0.2 custom product single form + boat display fixes */
.fgbe-cart-form{display:block;width:100%;margin:22px 0 0}.fgbe-cart-form .fgbe-booking-submit{width:100%;margin-top:14px;border-radius:999px!important;padding:15px 24px!important;font-weight:900!important;letter-spacing:.01em}.fgbe-boat-card-wrap>label{display:block;font-size:12px;font-weight:800;color:#102b3f;text-transform:uppercase;letter-spacing:.05em;margin:0 0 6px}.fgbe-boat-card{display:flex;align-items:center;gap:14px;border:1px solid rgba(13,46,64,.14);background:#fff;border-radius:16px;padding:12px;box-shadow:0 8px 24px rgba(13,46,64,.05)}.fgbe-boat-card strong{display:block;font-size:16px;line-height:1.2;color:#102b3f}.fgbe-boat-card span{display:block;margin-top:3px;font-size:13px;color:#5a7080}.fgbe-boat-thumb{width:64px!important;height:64px!important;object-fit:cover;border-radius:12px;flex:0 0 auto}.fgbe-admin-warning{border:1px solid rgba(196,149,59,.35);background:#fff8e8;color:#5a4317;border-radius:14px;padding:12px 14px;font-size:14px}.fgbe-booking-box select[name="fgbe_boat_id"]{min-height:48px}@media(max-width:600px){.fgbe-boat-card{align-items:flex-start}.fgbe-boat-thumb{width:54px!important;height:54px!important}.fgbe-cart-form .fgbe-booking-submit{padding:14px 18px!important}}

.fgbe-live-price{margin-top:16px;padding:16px 18px;border-radius:18px;background:#102b3f;color:#fff;box-shadow:0 18px 44px rgba(13,46,64,.16);display:flex;align-items:center;justify-content:space-between;gap:18px}.fgbe-live-price span{display:block;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.72);margin-bottom:4px}.fgbe-live-price strong{display:block;font-size:28px;line-height:1;font-weight:900;color:#fff}.fgbe-live-price small{max-width:330px;font-size:13px;line-height:1.45;color:rgba(255,255,255,.78);text-align:right}.fgbe-policy{display:flex;flex-direction:column;gap:4px}.fgbe-policy strong{display:block;color:inherit}.fgbe-policy span{display:block;line-height:1.55}.fgbe-instructions{margin-top:12px;border-radius:16px;padding:13px 14px;background:#f3fbfc;border:1px solid rgba(21,149,163,.18);color:#102b3f;font-size:14px;display:flex;flex-direction:column;gap:4px}.fgbe-instructions strong{font-size:13px;text-transform:uppercase;letter-spacing:.06em}.fgbe-instructions span{line-height:1.55}@media(max-width:767px){.fgbe-live-price{align-items:flex-start;flex-direction:column}.fgbe-live-price small{text-align:left;max-width:none}.fgbe-live-price strong{font-size:25px}}

/* v1.0.4 tiered pricing display */
.fgbe-pricing-table{margin-top:16px;border:1px solid rgba(13,46,64,.12);background:#fff;border-radius:18px;padding:15px;}
.fgbe-pricing-table>strong{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.07em;color:#102b3f;margin-bottom:10px;}
.fgbe-pricing-table__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;}
.fgbe-pricing-table__grid span,.fgbe-pricing-table__grid b{padding:9px 10px;border-radius:11px;background:#f7fbfc;border:1px solid rgba(13,46,64,.08);}
.fgbe-pricing-table__grid span{font-size:13px;color:#5a7080;font-weight:800;}
.fgbe-pricing-table__grid b{text-align:right;color:#102b3f;}
@media(max-width:600px){.fgbe-pricing-table__grid{grid-template-columns:1fr}.fgbe-pricing-table__grid b{text-align:left;margin-top:-8px}}

/* v1.0.7 guest tier selector */
.fgbe-field-help{display:block;margin-top:6px;font-size:12px;line-height:1.35;color:#5a7080;text-transform:none!important;letter-spacing:0!important;font-weight:600!important;}
.fgbe-booking-grid select[name="fgbe_guests"]{cursor:pointer;}

/* v1.0.8 duration and time-range display */
.fgbe-booking-head__badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.fgbe-booking-head .fgbe-duration-badge{background:#fff8e8;border-color:rgba(196,149,59,.28);color:#745314}
@media(max-width:767px){.fgbe-booking-head__badges{width:100%}}
.fgbe-exp-duration{display:block;margin:4px 0 8px;color:#5a7080;font-size:13px;font-weight:800}


/* v1.1.0 optional tour add-ons */
.fgbe-addons{margin-top:18px;padding-top:18px;border-top:1px solid rgba(13,46,64,.1)}
.fgbe-addons__head{margin-bottom:13px}
.fgbe-addons__head>span{display:block;margin-bottom:4px;color:#1595a3;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}
.fgbe-addons__head h3{margin:0;color:#102b3f;font-size:21px;line-height:1.2}
.fgbe-addons__head p{margin:6px 0 0;color:#5a7080;font-size:14px;line-height:1.5}
.fgbe-addons__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.fgbe-addon-card{position:relative;min-width:0}
.fgbe-addon-selector{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important}
.fgbe-addon-card__main{position:relative;display:grid;grid-template-columns:86px minmax(0,1fr) 24px;gap:12px;align-items:center;min-height:112px;padding:11px;border:1px solid rgba(13,46,64,.14);border-radius:17px;background:#fff;box-shadow:0 8px 22px rgba(13,46,64,.05);cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease}
.fgbe-addon-card__main:hover{border-color:rgba(21,149,163,.45);transform:translateY(-1px);box-shadow:0 12px 28px rgba(13,46,64,.09)}
.fgbe-addon-card.is-selected .fgbe-addon-card__main{border-color:#1595a3;box-shadow:0 0 0 3px rgba(21,149,163,.12),0 12px 28px rgba(13,46,64,.09)}
.fgbe-addon-card__visual{display:flex;width:86px;height:86px;border-radius:13px;overflow:hidden;background:#eef7f8;align-items:center;justify-content:center}
.fgbe-addon-card__visual img{width:100%;height:100%;display:block;object-fit:cover}
.fgbe-addon-card__visual.is-placeholder span{font-size:28px;font-weight:300;color:#1595a3}
.fgbe-addon-card__content{display:block;min-width:0}
.fgbe-addon-card__content strong{display:block;color:#102b3f;font-size:15px;line-height:1.25}
.fgbe-addon-card__content small{display:block;margin-top:4px;color:#5a7080;font-size:12px;line-height:1.4}
.fgbe-addon-card__content b{display:block;margin-top:8px;color:#11717f;font-size:14px;line-height:1.2}
.fgbe-addon-card__content b .woocommerce-Price-amount{font-weight:900}
.fgbe-addon-card__content b em{font-style:normal;font-size:11px;font-weight:750;color:#5a7080}
.fgbe-addon-card__check{width:22px;height:22px;border:2px solid #b9cbd5;border-radius:50%;background:#fff;position:relative}
.fgbe-addon-card.is-selected .fgbe-addon-card__check{border-color:#1595a3;background:#1595a3}
.fgbe-addon-card.is-selected .fgbe-addon-card__check:after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.fgbe-addon-card__quantity{display:none;align-items:center;justify-content:flex-end;gap:9px;padding:8px 12px 0}
.fgbe-addon-card.is-selected .fgbe-addon-card__quantity{display:flex}
.fgbe-addon-card__quantity label{font-size:12px;font-weight:800;color:#5a7080;text-transform:uppercase;letter-spacing:.05em}
.fgbe-addon-card__quantity input{width:74px!important;min-height:38px;border:1px solid rgba(13,46,64,.18);border-radius:10px;padding:7px 9px;background:#fff}
.fgbe-addons-total{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:12px;color:#5a7080;font-size:12px;font-weight:800}
.fgbe-addons-total strong{font-size:16px;color:#102b3f}
.fgbe-addons-total.has-selection strong{color:#11717f}
@media(max-width:900px){.fgbe-addons__grid{grid-template-columns:1fr}}
@media(max-width:520px){.fgbe-addon-card__main{grid-template-columns:70px minmax(0,1fr) 22px;gap:10px;min-height:96px}.fgbe-addon-card__visual{width:70px;height:70px}.fgbe-addons-total{justify-content:space-between}.fgbe-addon-card__content strong{font-size:14px}}
