/* file: wp-content/plugins/bloom-checkout-steps-and-fields/assets/css/bloom-checkout.css */

/* ========== ZÁKLAD ========== */

/* Kontajner checkoutu */
.bloom-checkout{max-width:1100px;margin:0 auto 40px}

/* Skryté firemné polia (JS toggluje) */
.bloom-billing-company-field{display:none}
.bloom-billing-company-field label{pointer-events:none}

/* ========== KROKY (STEPS) ========== */

/* Horná navigácia krokov (desktop) */
.bloom-steps-nav{
  list-style:none;margin:0 0 25px;padding:0;
  display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  border-radius:6px;overflow:hidden;box-shadow:0 8px 18px rgba(0,0,0,.05)
}
.bloom-steps-nav li{
  position:relative;padding:12px 10px;font-size:14px;text-align:center;background:#f4f6f9;color:#555;cursor:pointer;font-weight:500;
  transition:background .2s,color .2s,box-shadow .2s
}
.bloom-steps-nav li::before{
  content:attr(data-step);
  display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-right:6px;border-radius:50%;
  border:2px solid #c5d2e6;font-size:13px;font-weight:600;background:#fff;color:#4a5a7a
}
.bloom-steps-nav li:hover:not(.active){background:#e9edf5}
.bloom-steps-nav li.active{background:#00a0e3;color:#fff;box-shadow:inset 0 -3px 0 rgba(0,0,0,.08)}
.bloom-steps-nav li.active::before{border-color:#fff;background:#fff;color:#00a0e3}

/* --- OPRAVENÉ OBSAH KROKOV (VISIBILITY FIX) --- */
.bloom-steps-wrapper{margin-top:10px}

.bloom-step {
  /* Vzhľad */
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 10px 25px rgba(0,0,0,.04);
  /* padding a border nastavíme v active stave, alebo resetneme nižšie */

  /* FIX: Namiesto display:none používame visibility */
  /* Toto zabezpečí, že Select2 (krajina) si vie vypočítať šírku aj v skrytom kroku */
  display: block !important;     
  visibility: hidden !important; 
  height: 0 !important;          
  overflow: hidden !important;   
  padding: 0 !important;         
  border: 0 !important;          
  margin: 0 !important;
}

.bloom-step.active {
  /* Keď je aktívny, vrátime všetko do normálu */
  visibility: visible !important;
  height: auto !important;
  overflow: visible !important;
  
  /* Pôvodný dizajn */
  padding: 25px 30px 30px !important; 
  border: 1px solid #eef1f6 !important;
  margin-bottom: 20px;
}

.bloom-step-title{font-size:22px;font-weight:600;margin:0 0 20px;color:#333;font-family:inherit}

/* Zvýraznený nadpis + podtitulok v kroku "Kde budeme doručovať" */
.bloom-step-title--delivery{font-size:26px;color:#00a0e3;margin-bottom:6px}
.bloom-step-subtitle{
  margin:0 0 22px;font-size:14px;line-height:1.5;color:#555;
  background:#eef9ff;border-left:3px solid #00a0e3;padding:10px 12px;border-radius:5px
}

/* Tlačidlá krokov */
.bloom-step-buttons{margin-top:25px;display:flex;gap:10px}
.bloom-step-buttons-right{justify-content:flex-end}
.bloom-step-buttons-split{justify-content:space-between}
.bloom-step-buttons .button{min-width:130px;font-size:14px;padding:10px 18px;border-radius:4px}
.bloom-step-buttons .bloom-prev-step{background:#f3f4f8;color:#444;border:1px solid #d7dcea}
.bloom-step-buttons .bloom-prev-step:hover{background:#e7e9f2}

/* Skry interné Woo nadpisy v sekciách */
.bloom-step .woocommerce-billing-fields>h3,
.bloom-step .woocommerce-shipping-fields>h3{display:none}

/* ========== FORM FIELDS ========== */

.bloom-checkout .form-row{margin-bottom:15px}
.bloom-checkout .form-row label{font-size:13px;margin-bottom:4px;color:#555}

.bloom-checkout .input-text,
.bloom-checkout select,
.bloom-checkout textarea{
  border-radius:5px;border:1px solid #d8dde7;padding:10px 12px;font-size:13px;background:#fafbfe;
  transition:border-color .15s,box-shadow .15s,background .15s
}
.bloom-checkout textarea{min-height:120px}

.bloom-checkout .input-text:focus,
.bloom-checkout select:focus,
.bloom-checkout textarea:focus{
  border-color:#00a0e3;box-shadow:0 0 0 2px rgba(0,160,227,.12);background:#fff
}

/* Mobil: pole musi mat font-size >=16px, inak iOS Safari pri kliknuti automaticky
   zoomne stranku (a obsah potom "plava"). 16px tomu zabrani, pinch-zoom zostava funkcny. */
@media (max-width:768px){
  .bloom-checkout .input-text,
  .bloom-checkout select,
  .bloom-checkout textarea{font-size:16px}
}

.bloom-checkout .form-row input[type="checkbox"],
.bloom-checkout .form-row input[type="radio"]{margin-right:6px;transform:translateY(1px)}

/* ========== PLATBY (vizuálny highlight) ========== */
.woocommerce-checkout #payment ul.wc_payment_methods li{
  border:1px solid #e2e8f0;padding:14px 16px;border-radius:8px;margin-bottom:10px;background:#fafafa;transition:all .15s
}
.woocommerce-checkout #payment ul.wc_payment_methods li label{font-weight:600;cursor:pointer}
.woocommerce-checkout #payment ul.wc_payment_methods li input.input-radio{margin-right:8px}
.woocommerce-checkout #payment ul.wc_payment_methods li.bloom-active-method{
  background:#fff;border-color:#2f86d9;border-width:2px;box-shadow:0 0 0 3px rgba(47,134,217,.18)
}

/* ========== SÚHRN OBJEDNÁVKY ========== */

/* Malé náhľady produktov */
.woocommerce-checkout-review-order-table .bloom-order-thumb img,
.woocommerce-checkout-review-order-table td.product-name img{width:48px !important;height:auto !important;border-radius:8px}

/* Shipping inline (krok doručenia — kdekoľvek v poradí krokov) */
.bloom-shipping-inline {
    display: none;
    margin-top: 18px;
    padding-top: 14px;
    border-top: 1px solid #e2e8f0;
    
    /* FIX PRE MAĎARSKO A INÉ KRAJINY: */
    clear: both !important;      /* Ukončí obtekanie predchádzajúcich polí */
    float: none !important;      /* Zakáže plávanie tohto bloku */
    width: 100% !important;      /* Roztiahne sa na celú šírku */
}
.bloom-step.active .bloom-shipping-inline{display:block}
.bloom-shipping-inline .bloom-shipping-inline-title{
  font-weight:700;font-size:18px;color:#00a0e3;
  margin-bottom:10px;padding-bottom:6px;border-bottom:2px solid #cdeffb
}

/* Krok 4 – skry štandardné shipping riadky a zobraz náš sumár */
.bloom-step-4.active tr.shipping,
.bloom-step-4.active tr.woocommerce-shipping-totals{display:none !important}
.bloom-step-4.active tr.bloom-shipping-summary-row{display:table-row !important}

/* ========== VENOVANIE & EXTRA SLUŽBY ========== */

.bloom-greeting-wrapper{margin-bottom:18px}

/* === Pomocník pri venovaní === */

/* Čistý systémový font pre venovanie + helper – lepší rendering SK diakritiky (Ň, ľ, š, č…). */
.bloom-venovanie-field textarea,
.bloom-venovanie-helper-btn,
.bloom-venovanie-inserted-notice,
.bloom-helper-dialog,
.bloom-helper-tab,
.bloom-helper-text{
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, "Liberation Sans", sans-serif;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale
}

.bloom-venovanie-helper-wrapper{margin:-6px 0 16px}

.bloom-venovanie-helper-btn{
  appearance:none;-webkit-appearance:none;cursor:pointer;
  display:inline-flex;align-items:center;gap:8px;
  padding:9px 14px;border-radius:8px;
  background:#fff8e7;border:1px dashed #f0c75a;
  color:#7a5a00;font-size:13px;line-height:1.3;
  text-align:left;transition:all .15s
}
.bloom-venovanie-helper-btn:hover{background:#fff1cb;border-color:#d8a52a;color:#5a4400}
.bloom-venovanie-helper-btn strong{font-weight:700}
.bloom-venovanie-helper-icon{font-size:16px;line-height:1}

.bloom-venovanie-inserted-notice{
  display:flex;align-items:center;gap:8px;
  margin-top:8px;padding:9px 12px;
  background:#e6f7eb;border:1px solid #9ed3ad;border-radius:8px;
  color:#1f6b35;font-size:13px;font-weight:500
}
.bloom-venovanie-inserted-notice[hidden]{display:none}
.bloom-venovanie-inserted-notice > span{
  display:inline-flex;align-items:center;justify-content:center;
  width:20px;height:20px;border-radius:50%;
  background:#46b450;color:#fff;font-size:12px;font-weight:bold
}

/* === Modal helper === */
.bloom-helper-modal{
  position:fixed;inset:0;z-index:99999;
  display:flex;align-items:center;justify-content:center;
  padding:20px
}
.bloom-helper-modal[hidden]{display:none}

.bloom-helper-backdrop{
  position:absolute;inset:0;background:rgba(15,25,40,.55);
  backdrop-filter:blur(2px);cursor:pointer
}

.bloom-helper-dialog{
  position:relative;
  background:#fff;border-radius:14px;
  width:100%;max-width:640px;max-height:88vh;
  display:flex;flex-direction:column;
  box-shadow:0 20px 60px rgba(0,0,0,.3);
  overflow:hidden;
  animation:bloomHelperIn .2s ease-out
}
@keyframes bloomHelperIn{
  from{opacity:0;transform:translateY(8px) scale(.98)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

.bloom-helper-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 20px 8px;border-bottom:1px solid #eef1f6
}
.bloom-helper-title{
  margin:0;font-size:18px;font-weight:600;color:#222
}
.bloom-helper-close{
  appearance:none;-webkit-appearance:none;cursor:pointer;
  background:transparent;border:0;
  width:32px;height:32px;border-radius:50%;
  font-size:24px;line-height:1;color:#888;
  display:flex;align-items:center;justify-content:center;
  transition:all .15s
}
.bloom-helper-close:hover{background:#f4f6fa;color:#333}

.bloom-helper-subtitle{
  margin:0;padding:8px 20px 14px;
  font-size:13px;color:#777;line-height:1.5;
  border-bottom:1px solid #eef1f6
}

.bloom-helper-tabs{
  display:flex;flex-wrap:wrap;gap:6px;
  padding:12px 16px;
  background:#f7f9fc;border-bottom:1px solid #eef1f6
}

.bloom-helper-tab{
  appearance:none;-webkit-appearance:none;cursor:pointer;
  flex:0 0 auto;box-sizing:border-box;
  padding:8px 14px;border-radius:999px;
  background:#fff;border:1px solid #d8dde7;
  font-size:13px;font-weight:500;color:#555;
  white-space:nowrap;transition:all .15s;
  max-width:100%
}
.bloom-helper-tab:hover{border-color:#00a0e3;color:#00689a}
.bloom-helper-tab.is-active{
  background:#00a0e3;border-color:#00a0e3;color:#fff;font-weight:600
}

.bloom-helper-panels{
  flex:1;overflow-y:auto;
  padding:14px 16px 18px;
  -webkit-overflow-scrolling:touch
}

.bloom-helper-text{
  display:block;width:100%;text-align:left;box-sizing:border-box;
  appearance:none;-webkit-appearance:none;cursor:pointer;
  margin:0 0 10px;padding:12px 14px;
  background:#fafbfd;border:1px solid #e1e6ef;border-radius:8px;
  transition:all .15s
}
.bloom-helper-text:hover{
  background:#f4faff;border-color:#00a0e3;
  box-shadow:0 4px 10px rgba(0,160,227,.12)
}
.bloom-helper-text:active{transform:scale(.99)}
.bloom-helper-text:last-child{margin-bottom:0}

/* Náhľad textu – systémový font (rovnaký ako vo zvyšku checkoutu). */
.bloom-helper-preview{
  display:block;
  white-space:pre-line;word-wrap:break-word;overflow-wrap:break-word;
  font-size:14px;line-height:1.5;color:#333
}

/* Básnička – multiline + jemne kurzíva, nad textom badge typu */
.bloom-helper-poem{
  display:flex;flex-direction:column;gap:8px;align-items:stretch
}
.bloom-helper-poem .bloom-helper-preview{
  font-size:13.5px;line-height:1.55;font-style:italic
}
.bloom-helper-poem-type{
  display:inline-block;align-self:flex-start;
  padding:3px 10px;border-radius:999px;
  background:#e8f4fc;color:#00689a;
  font-size:11px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;
  line-height:1.4
}
.bloom-helper-poem:hover .bloom-helper-poem-type{
  background:#d0eafc;color:#005280
}

@media (max-width:520px){
  .bloom-helper-modal{padding:0}
  .bloom-helper-dialog{
    max-width:none;max-height:100vh;
    height:100vh;border-radius:0
  }
  .bloom-helper-title{font-size:16px}
  .bloom-helper-subtitle{font-size:12px}
  .bloom-helper-tab{padding:7px 12px;font-size:12.5px}
  .bloom-helper-text{font-size:13px;padding:10px 12px}
}

/* Kartičky – vizuálna galéria */
.bloom-grafika-karticky{margin-bottom:18px;margin-top:18px}
.bloom-grafika-karticky > .bloom-grafika-label{
  display:flex;align-items:center;gap:10px;
  margin:0 0 14px;font-size:17px;font-weight:600;color:#222
}
.bloom-grafika-karticky > .bloom-grafika-label::before{
  content:"";display:inline-block;width:4px;height:20px;border-radius:2px;
  background:linear-gradient(180deg,#00a0e3,#0078ad)
}
.bloom-grafika-karticky .woocommerce-input-wrapper{display:block}

.bloom-cards-gallery{
  display:grid;grid-template-columns:repeat(3, 1fr);gap:12px;
  max-width:680px
}

.bloom-card-option{
  display:flex;flex-direction:column;align-items:stretch;
  margin:0;padding:0;background:#fff;
  border:2px solid #e1e4ee;border-radius:8px;
  cursor:pointer;overflow:hidden;position:relative;
  transition:border-color .15s, box-shadow .15s, transform .15s
}
.bloom-card-option input[type="radio"]{position:absolute;opacity:0;pointer-events:none;margin:0}
.bloom-card-option:hover{border-color:#00a0e3;box-shadow:0 4px 10px rgba(0,160,227,.12)}
.bloom-card-option.is-selected{
  border-color:#00a0e3;background:#f4faff;
  box-shadow:0 0 0 1px #00a0e3, 0 4px 12px rgba(0,160,227,.2)
}

/* Landscape (vizitka 85.6 × 54 mm ≈ 1.585:1), celá grafika viditeľná. */
.bloom-card-thumb{
  position:relative;display:block;
  aspect-ratio: 1.55 / 1;
  background:#fafbfd;overflow:hidden;padding:6px;
  box-sizing:border-box
}
.bloom-card-thumb img{
  width:100%;height:100%;object-fit:contain;display:block;
  transition:transform .2s
}
.bloom-card-option:hover .bloom-card-thumb img{transform:scale(1.02)}

.bloom-card-thumb-placeholder{
  position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  font-size:11px;color:#aaa;font-style:italic;text-align:center;padding:0 8px
}

.bloom-card-check{
  position:absolute;top:6px;right:6px;width:22px;height:22px;border-radius:50%;
  background:#00a0e3;color:#fff;display:flex;align-items:center;justify-content:center;
  font-size:13px;font-weight:bold;line-height:1;
  opacity:0;transform:scale(.6);transition:opacity .15s, transform .15s;
  box-shadow:0 2px 5px rgba(0,160,227,.4)
}
.bloom-card-option.is-selected .bloom-card-check{opacity:1;transform:scale(1)}

.bloom-card-name{
  display:block;padding:7px 8px;font-size:12px;line-height:1.3;text-align:center;
  color:#333;font-weight:500;background:#fff
}
.bloom-card-option.is-selected .bloom-card-name{
  background:#f4faff;font-weight:600;color:#00689a
}

/* Stuha – mierne odlíš farebne, je to služba nie kartička */
.bloom-card-option.is-stuha .bloom-card-thumb{background:#f7f3ed}

/* === Prémiová obálka === */
.bloom-envelope-row{margin-top:22px;margin-bottom:18px}
.bloom-envelope-row.is-hidden{display:none}

.bloom-envelope-card{
  display:flex;align-items:center;gap:14px;
  margin:0;padding:12px 16px;
  background:#fffafc;border:2px dashed #ec6fa3;border-radius:10px;
  cursor:pointer;position:relative;
  transition:all .15s
}
.bloom-envelope-card input[type="checkbox"]{position:absolute;opacity:0;pointer-events:none;margin:0}
.bloom-envelope-card:hover{
  background:#fff0f7;border-color:#d6477f;
  box-shadow:0 4px 12px rgba(236,111,163,.16)
}
.bloom-envelope-card.is-selected{
  border-style:solid;border-color:#ec6fa3;background:#fff0f7;
  box-shadow:0 0 0 1px #ec6fa3, 0 4px 14px rgba(236,111,163,.22)
}

.bloom-envelope-thumb{
  position:relative;flex:0 0 72px;width:72px;height:72px;
  border-radius:8px;overflow:hidden;
  background:#fafafa;border:1px solid #efe1e7
}
.bloom-envelope-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.bloom-envelope-thumb .bloom-card-thumb-placeholder{font-size:11px}

.bloom-envelope-info{display:flex;flex-direction:column;flex:1;line-height:1.4;min-width:0}
.bloom-envelope-title{font-size:15px;font-weight:600;color:#333;margin-bottom:2px}
.bloom-envelope-desc{font-size:12px;color:#777;margin-bottom:4px}
.bloom-envelope-price{font-size:13px;font-weight:600;color:#b03c6c}

/* CTA badge "+ Pridať" / "✓ Pridané" */
.bloom-envelope-action{
  flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;
  padding:9px 18px;border-radius:999px;
  background:#ec6fa3;color:#fff;
  font-size:13px;font-weight:600;line-height:1;white-space:nowrap;
  user-select:none;
  transition:background .15s, transform .15s, box-shadow .15s;
  box-shadow:0 2px 6px rgba(236,111,163,.3)
}
.bloom-envelope-action::before{
  content:"+";font-size:18px;font-weight:700;line-height:1
}
.bloom-envelope-action::after{
  content:"Pridať"
}
.bloom-envelope-card:hover .bloom-envelope-action{
  transform:translateY(-1px);
  box-shadow:0 4px 10px rgba(236,111,163,.4)
}
.bloom-envelope-card.is-selected .bloom-envelope-action{
  background:#46b450;
  box-shadow:0 2px 6px rgba(70,180,80,.3)
}
.bloom-envelope-card.is-selected .bloom-envelope-action::before{
  content:"✓";font-size:14px
}
.bloom-envelope-card.is-selected .bloom-envelope-action::after{
  content:"Pridané"
}
.bloom-envelope-card.is-selected:hover .bloom-envelope-action{
  box-shadow:0 4px 10px rgba(70,180,80,.4)
}

/* Extra služby */
.bloom-divider{margin:24px 0;border:0;border-top:1px dashed #e0e5f0}

.bloom-extra-heading{
  font-size:16px;margin:0 0 14px;font-weight:600;color:#333;
  display:flex;align-items:center;gap:8px
}
.bloom-extra-heading::before{
  content:"";display:inline-block;width:4px;height:18px;border-radius:2px;
  background:linear-gradient(180deg,#00a0e3,#0078ad)
}

.bloom-extra-card{
  background:#fafbfd;border:1px solid #e1e6ef;border-radius:10px;
  padding:14px 16px;margin-bottom:14px
}
.bloom-extra-card-title{
  display:block;font-size:14px;font-weight:600;color:#333;margin-bottom:6px
}
.bloom-extra-help{
  font-size:12px;color:#777;line-height:1.5;margin:0 0 12px
}
.bloom-extra-wrapper .bloom-extra-row{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-start;margin-top:0}
.bloom-extra-wrapper .bloom-extra-row .form-row{float:none;width:auto;margin-bottom:0}
.bloom-extra-wrapper .bloom-extra-amount-field{flex:0 0 200px;min-width:160px}
.bloom-extra-wrapper .bloom-extra-note-field{flex:1 1 0;min-width:240px}
.bloom-extra-wrapper .bloom-extra-row .input-text,
.bloom-extra-wrapper .bloom-extra-row textarea{background:#fff}
.bloom-extra-wrapper .bloom-extra-row textarea{min-height:80px}

/* === BALÓNY (shadow produkt s qty stepperom) === */
.bloom-balloons-row{margin-top:16px}
.bloom-balloons-row[hidden]{display:none}

.bloom-balloons-card{
  display:flex;align-items:center;gap:14px;
  margin:0;padding:12px 16px;
  background:#fffaf0;border:2px dashed #f4b85a;border-radius:10px;
  position:relative;
  transition:all .15s
}
.bloom-balloons-card.is-active{
  border-style:solid;border-color:#e07a00;background:#fff4e0;
  box-shadow:0 0 0 1px #e07a00, 0 4px 12px rgba(224,122,0,.22)
}

.bloom-balloons-thumb{
  position:relative;flex:0 0 72px;width:72px;height:72px;
  border-radius:8px;overflow:hidden;
  background:#fff;border:1px solid #f0d8b5
}
.bloom-balloons-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.bloom-balloons-thumb .bloom-card-thumb-placeholder{font-size:11px}

.bloom-balloons-info{display:flex;flex-direction:column;flex:1;line-height:1.4;min-width:0}
.bloom-balloons-title{font-size:15px;font-weight:600;color:#333;margin-bottom:2px}
.bloom-balloons-desc{font-size:12px;color:#7a5a30}

.bloom-balloons-controls{
  flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:6px
}

.bloom-qty-stepper{
  display:inline-flex;align-items:stretch;
  border:1px solid #e0c79b;border-radius:8px;overflow:hidden;
  background:#fff
}
.bloom-balloons-card.is-active .bloom-qty-stepper{border-color:#e07a00}

.bloom-qty-btn{
  appearance:none;-webkit-appearance:none;
  border:0;background:#fff;color:#e07a00;
  width:34px;height:34px;font-size:18px;font-weight:700;line-height:1;
  cursor:pointer;padding:0;
  transition:background .15s,color .15s
}
.bloom-qty-btn:hover:not(:disabled){background:#fff4e0}
.bloom-qty-btn:disabled{color:#cbb78d;cursor:not-allowed;background:#fafafa}
.bloom-qty-btn:active:not(:disabled){background:#ffe2bf}

.bloom-qty-stepper input[type="number"]{
  width:40px;height:34px;border:0;border-left:1px solid #f0e0c0;border-right:1px solid #f0e0c0;
  background:#fff;text-align:center;font-size:14px;font-weight:600;color:#333;
  padding:0;margin:0;
  -moz-appearance:textfield
}
.bloom-qty-stepper input[type="number"]::-webkit-outer-spin-button,
.bloom-qty-stepper input[type="number"]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.bloom-qty-stepper input[type="number"]:focus{outline:none}

.bloom-balloons-total{
  font-size:13px;font-weight:600;color:#a25500;
  white-space:nowrap;letter-spacing:.2px
}
.bloom-balloons-card:not(.is-active) .bloom-balloons-total{color:#a8a8a8}

@media (max-width:520px){
  .bloom-balloons-card{padding:10px 12px;gap:10px;flex-wrap:wrap}
  .bloom-balloons-thumb{flex:0 0 60px;width:60px;height:60px}
  .bloom-balloons-info{flex:1 1 calc(100% - 70px)}
  .bloom-balloons-controls{flex:1 1 100%;flex-direction:row;justify-content:space-between;align-items:center;margin-top:4px}
  .bloom-balloons-title{font-size:14px}
}

/* === Darčeková krabica (rovnaký štýl karty ako obálka) === */
.bloom-giftbox-row{margin-top:16px;margin-bottom:0}

.bloom-giftbox-card{
  display:flex;align-items:center;gap:14px;
  margin:0;padding:12px 16px;
  background:#fffafc;border:2px dashed #ec6fa3;border-radius:10px;
  cursor:pointer;position:relative;
  transition:all .15s
}
.bloom-giftbox-card input[type="checkbox"]{position:absolute;opacity:0;pointer-events:none;margin:0}
.bloom-giftbox-card:hover{
  background:#fff0f7;border-color:#d6477f;
  box-shadow:0 4px 12px rgba(236,111,163,.16)
}
.bloom-giftbox-card.is-selected{
  border-style:solid;border-color:#ec6fa3;background:#fff0f7;
  box-shadow:0 0 0 1px #ec6fa3, 0 4px 14px rgba(236,111,163,.22)
}

.bloom-giftbox-thumb{
  position:relative;flex:0 0 72px;width:72px;height:72px;
  border-radius:8px;overflow:hidden;
  background:#fafafa;border:1px solid #efe1e7
}
.bloom-giftbox-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.bloom-giftbox-thumb .bloom-card-thumb-placeholder{font-size:11px}

.bloom-giftbox-info{display:flex;flex-direction:column;flex:1;line-height:1.4;min-width:0}
.bloom-giftbox-title{font-size:15px;font-weight:600;color:#333;margin-bottom:2px}
.bloom-giftbox-desc{font-size:12px;color:#777;margin-bottom:4px}
.bloom-giftbox-price{font-size:13px;font-weight:600;color:#b03c6c}

.bloom-giftbox-action{
  flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;
  padding:9px 18px;border-radius:999px;
  background:#ec6fa3;color:#fff;
  font-size:13px;font-weight:600;line-height:1;white-space:nowrap;
  user-select:none;
  transition:background .15s, transform .15s, box-shadow .15s;
  box-shadow:0 2px 6px rgba(236,111,163,.3)
}
.bloom-giftbox-action::before{content:"+";font-size:18px;font-weight:700;line-height:1}
.bloom-giftbox-action::after{content:"Pridať"}
.bloom-giftbox-card:hover .bloom-giftbox-action{
  transform:translateY(-1px);
  box-shadow:0 4px 10px rgba(236,111,163,.4)
}
.bloom-giftbox-card.is-selected .bloom-giftbox-action{
  background:#46b450;
  box-shadow:0 2px 6px rgba(70,180,80,.3)
}
.bloom-giftbox-card.is-selected .bloom-giftbox-action::before{content:"✓";font-size:14px}
.bloom-giftbox-card.is-selected .bloom-giftbox-action::after{content:"Pridané"}
.bloom-giftbox-card.is-selected:hover .bloom-giftbox-action{
  box-shadow:0 4px 10px rgba(70,180,80,.4)
}

@media (max-width:520px){
  .bloom-giftbox-card{padding:10px 12px;gap:10px}
  .bloom-giftbox-thumb{flex:0 0 60px;width:60px;height:60px}
  .bloom-giftbox-title{font-size:14px}
  .bloom-giftbox-desc{font-size:11.5px}
  .bloom-giftbox-action{padding:8px 14px;font-size:12.5px}
  .bloom-giftbox-action::before{font-size:16px}
}
@media (max-width:380px){
  .bloom-giftbox-card{flex-wrap:wrap}
  .bloom-giftbox-info{flex:1 1 calc(100% - 70px)}
  .bloom-giftbox-action{flex:1 1 100%;margin-top:6px;padding:10px 16px}
}

/* === Set na starostlivosť o kvety === */
.bloom-carekit-row{margin-top:16px;margin-bottom:0}
.bloom-carekit-card{
  display:flex;align-items:center;gap:14px;
  margin:0;padding:12px 16px;
  background:#fffafc;border:2px dashed #ec6fa3;border-radius:10px;cursor:pointer;
  transition:all .15s
}
.bloom-carekit-card input[type="checkbox"]{position:absolute;opacity:0;pointer-events:none;margin:0}
.bloom-carekit-card:hover{background:#fff0f7;border-color:#d6477f;box-shadow:0 4px 12px rgba(236,111,163,.16)}
.bloom-carekit-card.is-selected{border-style:solid;border-color:#ec6fa3;background:#fff0f7;box-shadow:0 0 0 1px #ec6fa3, 0 4px 14px rgba(236,111,163,.22)}

.bloom-carekit-thumb{
  position:relative;flex:0 0 72px;width:72px;height:72px;
  border-radius:8px;overflow:hidden;background:#fafafa;border:1px solid #efe1e7;cursor:zoom-in
}
.bloom-carekit-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.bloom-carekit-zoom-icon{
  position:absolute;bottom:4px;right:4px;width:20px;height:20px;border-radius:50%;
  background:rgba(0,0,0,.48);display:flex;align-items:center;justify-content:center;
  font-size:11px;pointer-events:none;
}
.bloom-carekit-zoom-icon::after{content:"🔍";font-size:11px;line-height:1}

.bloom-carekit-info{display:flex;flex-direction:column;flex:1;line-height:1.4;min-width:0}
.bloom-carekit-title{font-size:15px;font-weight:600;color:#333;margin-bottom:2px}
.bloom-carekit-desc{font-size:12px;color:#777;margin-bottom:4px}
.bloom-carekit-price{font-size:13px;font-weight:600;color:#b03c6c}

.bloom-carekit-action{
  flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:6px;
  padding:9px 18px;border-radius:999px;
  background:#ec6fa3;color:#fff;font-size:13px;font-weight:600;letter-spacing:.3px;
  border:none;transition:all .15s;
  box-shadow:0 2px 6px rgba(236,111,163,.3)
}
.bloom-carekit-action::before{content:"+";font-size:18px;font-weight:700;line-height:1}
.bloom-carekit-action::after{content:"Pridať"}
.bloom-carekit-card:hover .bloom-carekit-action{transform:translateY(-1px);box-shadow:0 4px 10px rgba(236,111,163,.4)}
.bloom-carekit-card.is-selected .bloom-carekit-action{background:#46b450;box-shadow:0 2px 6px rgba(70,180,80,.3)}
.bloom-carekit-card.is-selected .bloom-carekit-action::before{content:"✓";font-size:14px}
.bloom-carekit-card.is-selected .bloom-carekit-action::after{content:"Pridané"}
.bloom-carekit-card.is-selected:hover .bloom-carekit-action{box-shadow:0 4px 10px rgba(70,180,80,.4)}

@media (max-width:520px){
  .bloom-carekit-card{padding:10px 12px;gap:10px}
  .bloom-carekit-thumb{flex:0 0 60px;width:60px;height:60px}
  .bloom-carekit-title{font-size:14px}
  .bloom-carekit-desc{font-size:11.5px}
  .bloom-carekit-action{padding:8px 14px;font-size:12.5px}
  .bloom-carekit-action::before{font-size:16px}
}
@media (max-width:380px){
  .bloom-carekit-card{flex-wrap:wrap}
  .bloom-carekit-info{flex:1 1 calc(100% - 70px)}
  .bloom-carekit-action{flex:1 1 100%;margin-top:6px;padding:10px 16px}
}

/* Popisy dopráv len v inline widgete (krok 1), nie v order review */
#order_review .bloom-shipping-desc{display:none!important}

/* ========== UPOZORNENIA / ŠPECIÁLY ========== */

.bloom-delivery-warning{
  margin-top:15px;padding:12px 14px;border-radius:6px;background:#fff8fb;border:1px solid #f6d9e3;font-size:13px;color:#555
}
.bloom-delivery-warning-title{font-weight:600;margin-bottom:4px}
.bloom-delivery-warning-text{font-size:13px;line-height:1.5}

/* ORDDD dostupnosť skryť a očistiť ružové pozadia wrapperov v kroku doručenia */
#orddd-availability{display:none !important}
.bloom-step .woocommerce-shipping-fields,
.bloom-step .woocommerce-shipping-fields .shipping_address,
.bloom-step #customer_details,
.bloom-step #customer_details .woocommerce-shipping-fields__field-wrapper{
  background:transparent !important;border:0 !important;box-shadow:none !important
}

/* ========== RESPONSIVE ========== */

/* Tablet: 2 stĺpcový nav */
@media (max-width:900px){
  .bloom-steps-nav{grid-template-columns:repeat(2,1fr)}
}

/* Mobilné rozloženie */
@media (max-width:768px){
  /* Mobilný progress bar (nahrádza grid) */
  .bloom-steps-nav{
    display:flex;justify-content:space-between;align-items:flex-start;padding:10px 0;margin-bottom:15px;border-bottom:1px solid #eee;
    overflow-x:auto;white-space:nowrap;box-shadow:none;border-radius:0
  }
  .bloom-steps-nav li{
    flex:1;text-align:center;font-size:0;color:#999;padding:0 5px;background:transparent;box-shadow:none
  }
  .bloom-steps-nav li::before{
    content:attr(data-step);display:block;margin:0 auto 4px;width:22px;height:22px;line-height:22px;border-radius:50%;
    background:#f5f5f5;color:#888;border:2px solid #ddd;font-weight:bold;font-size:11px
  }
  .bloom-steps-nav li.active{background:transparent;box-shadow:none}
  .bloom-steps-nav li.active::before{background:#fff;color:#ff4081;border-color:#ff4081}
  .bloom-steps-nav li[data-step="1"]::after{content:"Venovanie";font-size:10px;display:block;color:#666}
  .bloom-steps-nav li[data-step="2"]::after{content:"Doručenie";font-size:10px;display:block;color:#666}
  .bloom-steps-nav li[data-step="3"]::after{content:"Faktúra";font-size:10px;display:block;color:#666}
  .bloom-steps-nav li[data-step="4"]::after{content:"Súhrn";font-size:10px;display:block;color:#666}
  .bloom-steps-nav li.active::after{color:#ff4081;font-weight:600}

  /* Mobilné úpravy obsahu */
  .bloom-checkout{margin-bottom:25px}
  .bloom-step{padding:18px 15px 22px}
  .bloom-step-buttons{flex-direction:column;align-items:stretch}
  .bloom-step-buttons .button{width:100%;text-align:center}
}

/* Galéria kartičiek – mobilný layout */
@media (max-width:768px){
  .bloom-cards-gallery{grid-template-columns:repeat(2,1fr);gap:10px;max-width:none}
  .bloom-card-name{padding:6px 6px;font-size:11.5px}
  .bloom-card-check{width:20px;height:20px;font-size:12px;top:5px;right:5px}
}
@media (max-width:380px){
  .bloom-cards-gallery{gap:8px}
  .bloom-card-name{font-size:11px;padding:6px 4px}
}

/* Prémiová obálka – mobilná úprava */
@media (max-width:520px){
  .bloom-envelope-card{padding:10px 12px;gap:10px}
  .bloom-envelope-thumb{flex:0 0 60px;width:60px;height:60px}
  .bloom-envelope-title{font-size:14px}
  .bloom-envelope-desc{font-size:11.5px}
  .bloom-envelope-action{padding:8px 14px;font-size:12.5px}
  .bloom-envelope-action::before{font-size:16px}
}
@media (max-width:380px){
  .bloom-envelope-card{flex-wrap:wrap}
  .bloom-envelope-info{flex:1 1 calc(100% - 70px)}
  .bloom-envelope-action{flex:1 1 100%;margin-top:6px;padding:10px 16px}
}

/* Desktop: tri firemné polia v riadku */
@media (min-width:900px){
  .form-row-third.bloom-billing-company-field{float:left;width:33.3333%;clear:none}
  .bloom-company-ico{clear:both}
}

/* Tablet/mobil: firemné polia pod sebou */
@media (max-width:899px){
  .form-row-third.bloom-billing-company-field{float:none;width:100%;clear:both}
  .bloom-company-ico{clear:both}
  .bloom-company-icdph{width:100%;clear:both}
}

/* Extra služby – stack na menších šírkach */
@media (max-width:768px){
  .bloom-extra-wrapper .bloom-extra-row{flex-direction:column;gap:12px}
  .bloom-extra-wrapper .bloom-extra-amount-field,
  .bloom-extra-wrapper .bloom-extra-note-field{max-width:100%;flex:1 1 100%}
  .bloom-extra-card{padding:12px 14px}
}
/* Shipping inline – „karty“ ako pri platbách */
.bloom-shipping-inline .bloom-ship-option{
  display:flex; align-items:flex-start; gap:8px;
  padding:14px 16px; margin-bottom:10px;
  border:1px solid #e2e8f0; border-radius:8px;
  background:#fafafa; cursor:pointer;
  transition:all .15s;
  line-height:1.45;
  font-size:14px;
}
.bloom-shipping-inline .bloom-ship-option input[type="radio"]{
  margin-top:3px; flex:0 0 auto;
}

/* modrý okraj pri vybratej – funguje aj v prehliadačoch s :has */
.bloom-shipping-inline .bloom-ship-option.bloom-active-ship,
.bloom-shipping-inline .bloom-ship-option:has(input:checked){
  background:#fff;
  border-color:#2f86d9; border-width:2px;
  box-shadow:0 0 0 3px rgba(47,134,217,.18);
}

/* Špeciálne dni (Valentín, MDŽ, Deň matiek...) – žiarivo ružový okraj */
.bloom-shipping-inline .bloom-ship-option.bloom-special-day-ship{
  border-color:#ff2d87; border-width:2px;
  box-shadow:0 0 0 3px rgba(255,45,135,.22);
  background:#fff5fa;
}
.bloom-shipping-inline .bloom-ship-option.bloom-special-day-ship.bloom-active-ship,
.bloom-shipping-inline .bloom-ship-option.bloom-special-day-ship:has(input:checked){
  border-color:#ff147a;
  box-shadow:0 0 0 4px rgba(255,20,122,.30);
  background:#fff;
}

/* nech je cena vedľa textu čitateľná */
.bloom-shipping-inline .bloom-ship-option .woocommerce-Price-amount,
.bloom-shipping-inline .bloom-ship-option .amount{
  font-weight:600;
  margin-left:6px;
}

/* --- Popis dopravy v inline boxe – aby sa rešpektoval HTML formát z admin nastavenia --- */
.bloom-shipping-inline .bloom-ship-option .bloom-ship-desc{
  font-size:13px;
  font-weight:normal;
  line-height:1.5;
  color:#374151;
}
/* zruš zmenšenie a inline-block, ktoré dáva <small class="bloom-shipping-desc"> z bloom-shipping pluginu */
.bloom-shipping-inline .bloom-ship-option .bloom-ship-desc small.bloom-shipping-desc{
  display:block;
  font-size:inherit;
  opacity:1;
}
/* odseky majú reálne medzery */
.bloom-shipping-inline .bloom-ship-option .bloom-ship-desc p{
  margin:0 0 8px 0;
}
.bloom-shipping-inline .bloom-ship-option .bloom-ship-desc p:last-child{
  margin-bottom:0;
}
/* <strong> a <em> nech reálne fungujú */
.bloom-shipping-inline .bloom-ship-option .bloom-ship-desc strong{
  font-weight:700;
}
.bloom-shipping-inline .bloom-ship-option .bloom-ship-desc em{
  font-style:italic;
}

/* --- Validácia telefónu --- */

/* Input s chybou - červený rámik */
.bloom-checkout .input-text.bloom-invalid-phone {
    border-color: #d63638 !important;
    background-color: #fff8f8 !important;
    box-shadow: 0 0 0 1px #d63638 !important;
}

/* Chybová hláška pod poľom */
.bloom-phone-hint.error {
    color: #d63638;
    font-size: 12px;
    margin-top: 5px;
    font-weight: 500;
    display: block;
    background: #fff0f0;
    padding: 6px 10px;
    border-radius: 4px;
    border-left: 3px solid #d63638;
}

/* Jemná animácia */
.bloom-phone-hint {
    transition: all 0.2s ease;
}

/* --- Nové štýly pre poznámku kuriéra --- */

/* Input v červenom keď je plný */
.bloom-limit-reached {
    border-color: #d63638 !important;
    background-color: #fff8f8 !important;
    color: #d63638;
}

/* Počítadlo znakov v labeli */
.bloom-char-counter {
    margin-left: 8px;
    transition: color 0.2s;
}

/* --- Prísne anonymné doručenie (pod poznámkou pre aranžéra) --- */

.woocommerce-checkout .bloom-anon-delivery {
    margin-top: 4px;
    padding: 12px 14px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    background: #fafbfc;
}

.woocommerce-checkout .bloom-anon-delivery label.checkbox {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 0;
    font-weight: 600;
    cursor: pointer;
}

.woocommerce-checkout .bloom-anon-delivery input[type="checkbox"] {
    margin: 2px 0 0 0;
    flex: 0 0 auto;
}

/* Krátky popis pod checkboxom. Triedu .description mu PHP mení na
   .bloom-anon-desc, aby ho woocommerce.js nezroloval. */
.woocommerce-checkout .bloom-anon-delivery .bloom-anon-desc {
    display: block;
    margin-top: 6px;
    font-size: 13px;
    line-height: 1.45;
    color: #6b6f76;
    font-weight: 400;
}

/* Otáznik „Čo to znamená?" v riadku s názvom. Na úzkom displeji sa zalomí
   pod názov, preto má label flex-wrap. */
.woocommerce-checkout .bloom-anon-delivery label.checkbox {
    flex-wrap: wrap;
    align-items: center;
}

.woocommerce-checkout .bloom-anon-delivery .bloom-anon-info-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0 0 0 auto;
    padding: 3px 10px 3px 3px;
    min-height: 0;
    border: 1px solid #b9e3f6;
    border-radius: 999px;
    background: #f0f9fe;
    color: #00689a;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.2;
    text-transform: none;
    letter-spacing: 0;
    box-shadow: none;
    cursor: pointer;
    transition: background .15s, border-color .15s;
}

.woocommerce-checkout .bloom-anon-delivery .bloom-anon-info-btn:hover,
.woocommerce-checkout .bloom-anon-delivery .bloom-anon-info-btn[aria-expanded="true"] {
    background: #dff2fc;
    border-color: #00a0e3;
    color: #00689a;
}

.woocommerce-checkout .bloom-anon-delivery .bloom-anon-info-btn:focus-visible {
    outline: 2px solid #00a0e3;
    outline-offset: 2px;
}

.woocommerce-checkout .bloom-anon-delivery .bloom-anon-info-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #00a0e3;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    line-height: 1;
}

/* Rozbalené vysvetlenie pod checkboxom */
.woocommerce-checkout .bloom-anon-delivery .bloom-anon-info {
    display: block;
    margin-top: 10px;
    padding: 12px 14px;
    border: 1px solid #b9e3f6;
    border-left: 3px solid #00a0e3;
    border-radius: 6px;
    background: #fff;
    font-size: 13px;
    line-height: 1.5;
    font-weight: 400;
    color: #3c4046;
}

.woocommerce-checkout .bloom-anon-delivery .bloom-anon-info[hidden] {
    display: none;
}

.woocommerce-checkout .bloom-anon-delivery .bloom-anon-info-title {
    display: block;
    margin-bottom: 6px;
    font-size: 14px;
    font-weight: 700;
    color: #222;
}

.woocommerce-checkout .bloom-anon-delivery .bloom-anon-info-p {
    display: block;
    margin-bottom: 8px;
}

.woocommerce-checkout .bloom-anon-delivery .bloom-anon-info-warn {
    padding: 8px 10px;
    border-radius: 6px;
    background: #fff8e5;
    color: #5a4400;
}

.woocommerce-checkout .bloom-anon-delivery .bloom-anon-info-close {
    margin: 2px 0 0;
    padding: 0;
    min-height: 0;
    border: 0;
    background: none;
    color: #00689a;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    text-transform: none;
    letter-spacing: 0;
    text-decoration: underline;
    box-shadow: none;
    cursor: pointer;
}

/* ========== E-MAIL NA ZAČIATKU 1. KROKU ==========
   Pole #billing_email_field sem presunie bloom-checkout.js z fakturačných
   údajov. Zámerne bez nadpisu a bez farebného boxu, aby pokladňa neplávala
   v blokoch. Kým skript pole nepresunie, je celý blok skrytý cez hidden. */
.bloom-step-email{margin:0 0 18px}
.bloom-step-email[hidden]{display:none}
.bloom-step-email .form-row{margin-bottom:0}
.bloom-email-hint{color:#777;font-weight:400}
/* Label aj so zátvorkou musí zostať na jednom riadku aj na mobile,
   preto sa na úzkych displejoch mierne zmenší namiesto zalomenia. */
.bloom-step-email label{white-space:nowrap}
@media (max-width:420px){
  .bloom-step-email label{font-size:12px}
  .bloom-email-hint{font-size:11px}
}
.bloom-email-error{display:block;margin-top:6px;font-size:13px;line-height:1.4;color:#cf1322;font-weight:600}
