/* Ingrud Bakeri — Frontend CSS v8.0.0 — Premium Light */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,600;1,400&family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500;9..40,600&display=swap');
:root {
  --ib-brown:#3D2314;--ib-brown-hover:#4F2E1A;--ib-amber:#C8834A;--ib-amber-lt:#E8A97A;--ib-amber-bg:#FDF3EB;
  --ib-cream:#FDFAF7;--ib-stone:#F6F1EB;--ib-stone-dk:#EDE5DB;--ib-white:#FFFFFF;
  --ib-border:#E4D9CE;--ib-text:#2A1A0D;--ib-text-mid:#7A5C45;--ib-text-light:#B0917A;
  --ib-success:#3D7A57;--ib-error:#B83B2A;--ib-radius:10px;--ib-radius-lg:16px;
  --ib-shadow:0 2px 12px rgba(61,35,20,.08),0 1px 3px rgba(61,35,20,.04);
  --ib-shadow-md:0 8px 32px rgba(61,35,20,.10),0 2px 8px rgba(61,35,20,.05);
}
*{box-sizing:border-box;}
.ib-wrap{max-width:940px;margin:0 auto;padding:0 20px 100px;color:var(--ib-text);font-family:'DM Sans',sans-serif;font-size:15px;-webkit-font-smoothing:antialiased;background:var(--ib-cream);}
.ib-header{padding:48px 0 36px;}
.ib-header-eyebrow{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--ib-amber);margin-bottom:10px;}
.ib-header h1{font-family:'Playfair Display',serif;font-size:clamp(30px,5vw,48px);font-weight:400;color:var(--ib-brown);margin:0 0 8px;line-height:1.12;}
.ib-header h1 em{font-style:italic;color:var(--ib-amber);}
.ib-header-sub{font-size:14px;color:var(--ib-text-light);display:flex;align-items:center;gap:6px;}
.ib-stepper{display:flex;align-items:center;margin-bottom:32px;overflow-x:auto;padding:4px 0 8px;scrollbar-width:none;}
.ib-stepper::-webkit-scrollbar{display:none;}
.ib-step{display:flex;align-items:center;gap:9px;font-size:13px;color:var(--ib-text-light);white-space:nowrap;}
.ib-step-num{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--ib-border);background:var(--ib-white);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:var(--ib-text-light);flex-shrink:0;transition:all .25s;}
.ib-step-label{font-size:12px;}
.ib-step-line{flex:1;height:1px;background:var(--ib-border);min-width:24px;max-width:56px;margin:0 10px;}
.ib-step.active .ib-step-num{background:var(--ib-brown);border-color:var(--ib-brown);color:#fff;box-shadow:0 0 0 4px rgba(61,35,20,.08);}
.ib-step.active .ib-step-label{color:var(--ib-brown);font-weight:600;}
.ib-step.done .ib-step-num{background:var(--ib-amber);border-color:var(--ib-amber);color:#fff;}
.ib-step.done .ib-step-num span{display:none;}
.ib-step.done .ib-step-label{color:var(--ib-amber);}
.ib-panel{display:none;}.ib-panel.active{display:block;animation:ibIn .22s ease;}
@keyframes ibIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.ib-card{background:var(--ib-white);border:1px solid var(--ib-border);border-radius:var(--ib-radius-lg);box-shadow:var(--ib-shadow);overflow:hidden;margin-bottom:20px;}
.ib-card-head{background:var(--ib-stone);border-bottom:1px solid var(--ib-border);padding:18px 24px;display:flex;align-items:center;gap:14px;}
.ib-card-head-icon{width:38px;height:38px;background:var(--ib-white);border:1px solid var(--ib-border);border-radius:9px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--ib-amber);}
.ib-card-head h2{font-family:'Playfair Display',serif;font-size:18px;font-weight:400;color:var(--ib-brown);margin:0;}
.ib-card-head p{font-size:12px;color:var(--ib-text-light);margin:2px 0 0;}
.ib-card-body{padding:24px;}
.ib-fg{margin-bottom:18px;}
.ib-lbl{display:block;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.9px;color:var(--ib-text-mid);margin-bottom:7px;}
.ib-lbl .req{color:var(--ib-amber);}
.ib-input{width:100%;border:1.5px solid var(--ib-border);border-radius:var(--ib-radius);padding:11px 14px;font-size:14px;font-family:'DM Sans',sans-serif;color:var(--ib-text);background:var(--ib-white);transition:border-color .2s,box-shadow .2s;box-sizing:border-box;-webkit-appearance:none;appearance:none;}
.ib-input:focus{outline:none;border-color:var(--ib-amber);box-shadow:0 0 0 3px rgba(200,131,74,.12);}
.ib-input::placeholder{color:var(--ib-text-light);}
textarea.ib-input{resize:vertical;min-height:88px;}
.ib-type-toggle{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:22px;}
.ib-type-btn{border:1.5px solid var(--ib-border);background:var(--ib-white);border-radius:var(--ib-radius);padding:14px 12px;cursor:pointer;text-align:center;transition:all .18s;display:flex;flex-direction:column;align-items:center;gap:8px;font-family:'DM Sans',sans-serif;}
.ib-type-btn svg{color:var(--ib-text-light);transition:color .18s;}
.ib-type-btn span{font-size:13px;font-weight:500;color:var(--ib-text-mid);transition:color .18s;}
.ib-type-btn.active{border-color:var(--ib-brown);background:var(--ib-brown);}
.ib-type-btn.active svg,.ib-type-btn.active span{color:rgba(255,255,255,.9);}
.ib-business-fields{background:var(--ib-stone);border:1px solid var(--ib-border);border-radius:var(--ib-radius);padding:18px;margin-top:4px;display:none;}
.ib-business-fields.show{display:block;animation:ibIn .18s ease;}
.ib-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(max-width:540px){.ib-row{grid-template-columns:1fr;}}
.ib-locations{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:22px;}
@media(max-width:560px){.ib-locations{grid-template-columns:1fr;}}
.ib-loc{border:1.5px solid var(--ib-border);border-radius:var(--ib-radius);padding:16px;cursor:pointer;transition:all .18s;background:var(--ib-white);position:relative;}
.ib-loc:hover{border-color:var(--ib-amber-lt);box-shadow:var(--ib-shadow);}
.ib-loc.active{border-color:var(--ib-brown);background:var(--ib-brown);}
.ib-loc-check{position:absolute;top:10px;right:10px;width:18px;height:18px;border-radius:50%;border:1.5px solid var(--ib-border);background:var(--ib-white);display:flex;align-items:center;justify-content:center;transition:all .18s;}
.ib-loc.active .ib-loc-check{background:var(--ib-amber);border-color:var(--ib-amber);}
.ib-loc-icon{color:var(--ib-text-light);margin-bottom:8px;transition:color .18s;}
.ib-loc.active .ib-loc-icon{color:rgba(255,255,255,.5);}
.ib-loc-name{font-family:'Playfair Display',serif;font-size:16px;font-weight:600;color:var(--ib-brown);margin-bottom:3px;}
.ib-loc.active .ib-loc-name{color:#fff;}
.ib-loc-addr{font-size:11px;color:var(--ib-text-light);margin-bottom:10px;}
.ib-loc.active .ib-loc-addr{color:rgba(255,255,255,.55);}
.ib-loc-hours-list{list-style:none;margin:0;padding:0;}
.ib-loc-hours-list li{font-size:11px;color:var(--ib-text-light);display:flex;justify-content:space-between;padding:2px 0;}
.ib-loc.active .ib-loc-hours-list li{color:rgba(255,255,255,.45);}
.ib-loc-hours-list li span:last-child{font-weight:500;}
.ib-date-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(max-width:480px){.ib-date-row{grid-template-columns:1fr;}}
.ib-closed-msg,.ib-open-msg{padding:11px 15px;border-radius:var(--ib-radius);font-size:13px;margin-bottom:16px;display:none;align-items:center;gap:8px;}
.ib-closed-msg{background:#FEF2F2;color:var(--ib-error);border:1px solid #FECACA;}
.ib-open-msg{background:#F0FDF4;color:var(--ib-success);border:1px solid #BBF7D0;}
.ib-cat-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px;}
.ib-cat-btn{padding:6px 16px;border-radius:20px;border:1.5px solid var(--ib-border);background:var(--ib-white);font-size:13px;cursor:pointer;transition:all .15s;font-family:'DM Sans',sans-serif;color:var(--ib-text-mid);}
.ib-cat-btn:hover{border-color:var(--ib-amber-lt);color:var(--ib-amber);}
.ib-cat-btn.active{background:var(--ib-brown);border-color:var(--ib-brown);color:#fff;}
.ib-prod-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media(max-width:540px){.ib-prod-grid{grid-template-columns:1fr;}}
.ib-prod-card{border:1.5px solid var(--ib-border);border-radius:var(--ib-radius);background:var(--ib-white);padding:14px;display:flex;align-items:center;gap:12px;transition:border-color .18s,box-shadow .18s;}
.ib-prod-card:hover{border-color:var(--ib-amber-lt);box-shadow:var(--ib-shadow);}
.ib-prod-card.has-qty{border-color:var(--ib-amber);background:var(--ib-amber-bg);}
.ib-prod-img{width:52px;height:52px;border-radius:9px;background:var(--ib-stone);flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--ib-text-light);overflow:hidden;}
.ib-prod-img img{width:100%;height:100%;object-fit:cover;}
.ib-prod-info{flex:1;min-width:0;}
.ib-prod-name{font-size:14px;font-weight:600;color:var(--ib-brown);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ib-prod-desc{font-size:11px;color:var(--ib-text-light);line-height:1.3;margin-bottom:4px;}
.ib-prod-price{font-size:13px;font-weight:700;color:var(--ib-amber);}
.ib-qty-ctrl{display:flex;align-items:center;gap:7px;flex-shrink:0;}
.ib-qty-btn{width:30px;height:30px;border-radius:50%;border:1.5px solid var(--ib-border);background:var(--ib-white);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;color:var(--ib-brown);}
.ib-qty-btn:hover{background:var(--ib-brown);border-color:var(--ib-brown);color:#fff;}
.ib-qty-num{font-size:15px;font-weight:700;color:var(--ib-brown);min-width:20px;text-align:center;}
.ib-cart-sticky{position:fixed;bottom:0;left:0;right:0;background:var(--ib-white);border-top:1px solid var(--ib-border);box-shadow:0 -4px 24px rgba(61,35,20,.10);padding:12px 24px;display:flex;align-items:center;justify-content:space-between;z-index:9999;transform:translateY(100%);transition:transform .3s cubic-bezier(.34,1.56,.64,1);}
.ib-cart-sticky.show{transform:translateY(0);}
.ib-cart-count{font-size:12px;color:var(--ib-text-light);}
.ib-cart-total{font-size:20px;font-weight:700;color:var(--ib-brown);}
.ib-cart-nav{display:flex;gap:10px;}
.ib-summary-items{background:var(--ib-stone);border-radius:var(--ib-radius);overflow:hidden;margin-bottom:16px;border:1px solid var(--ib-border);}
.ib-sum-row{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--ib-border);font-size:14px;}
.ib-sum-row:last-child{border-bottom:none;}
.ib-sum-qty{font-size:12px;color:var(--ib-text-light);margin-left:6px;}
.ib-sum-price{font-weight:600;color:var(--ib-brown);}
.ib-sum-total-row{background:var(--ib-brown);color:#fff;padding:16px 20px;display:flex;justify-content:space-between;align-items:center;border-radius:var(--ib-radius);margin-bottom:16px;}
.ib-sum-total-label{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:rgba(255,255,255,.6);}
.ib-sum-total-val{font-size:28px;font-weight:700;}
.ib-sum-info{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;}
@media(max-width:480px){.ib-sum-info{grid-template-columns:1fr;}}
.ib-sum-info-item{background:var(--ib-stone);border-radius:var(--ib-radius);padding:13px 16px;border:1px solid var(--ib-border);}
.ib-sum-info-label{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--ib-text-light);margin-bottom:4px;}
.ib-sum-info-val{font-size:15px;font-weight:600;color:var(--ib-brown);}
.ib-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:11px 22px;border-radius:var(--ib-radius);font-size:14px;font-weight:500;font-family:'DM Sans',sans-serif;cursor:pointer;transition:all .18s;border:1.5px solid transparent;text-decoration:none;-webkit-appearance:none;appearance:none;}
.ib-btn-primary{background:var(--ib-brown)!important;color:#fff!important;border-color:var(--ib-brown)!important;}
.ib-btn-primary:hover{background:var(--ib-brown-hover)!important;}
.ib-btn-ghost{background:var(--ib-white)!important;color:var(--ib-text-mid)!important;border-color:var(--ib-border)!important;}
.ib-btn-ghost:hover{border-color:var(--ib-brown)!important;color:var(--ib-brown)!important;}
.ib-btn-amber{background:var(--ib-amber)!important;color:#fff!important;border-color:var(--ib-amber)!important;}
.ib-btn-amber:hover{background:#B5723D!important;}
.ib-btn:disabled{opacity:.45;cursor:not-allowed;}
.ib-nav{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding-top:20px;border-top:1px solid var(--ib-border);gap:12px;}
.ib-success{text-align:center;padding:52px 24px;background:var(--ib-white);border-radius:var(--ib-radius-lg);border:1px solid var(--ib-border);box-shadow:var(--ib-shadow);}
.ib-success-icon{width:72px;height:72px;background:var(--ib-stone);border:1px solid var(--ib-border);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 20px;color:var(--ib-amber);}
.ib-success h2{font-family:'Playfair Display',serif;font-size:30px;font-weight:400;color:var(--ib-brown);margin-bottom:8px;}
.ib-success h2 em{font-style:italic;color:var(--ib-amber);}
.ib-success-num{display:inline-block;background:var(--ib-stone);color:var(--ib-brown);border:1px solid var(--ib-border);padding:8px 20px;border-radius:20px;font-size:13px;font-weight:600;margin:12px 0;letter-spacing:1px;font-family:monospace;}
.ib-success p{color:var(--ib-text-light);font-size:14px;line-height:1.65;}
.ib-error-msg{background:#FEF2F2;border:1px solid #FECACA;color:var(--ib-error);padding:11px 15px;border-radius:var(--ib-radius);font-size:13px;margin-bottom:16px;display:none;}
.ib-info-note{background:var(--ib-amber-bg);border-left:3px solid var(--ib-amber);padding:12px 16px;border-radius:0 var(--ib-radius) var(--ib-radius) 0;font-size:13px;color:var(--ib-text-mid);margin-bottom:16px;display:flex;gap:8px;align-items:flex-start;}
.ib-info-note svg{color:var(--ib-amber);flex-shrink:0;margin-top:1px;}
.ib-orders-table{width:100%;border-collapse:collapse;}
.ib-orders-table th{text-align:left;padding:10px 14px;font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--ib-text-light);border-bottom:2px solid var(--ib-border);background:var(--ib-stone);}
.ib-orders-table td{padding:12px 14px;font-size:14px;border-bottom:1px solid var(--ib-border);color:var(--ib-text);}
.ib-status-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:11px;font-weight:600;}
.ib-status-pending{background:#FEF3C7;color:#92400E;}
.ib-status-confirmed{background:#DBEAFE;color:#1E40AF;}
.ib-status-ready{background:#D1FAE5;color:#065F46;}
.ib-status-completed{background:#F3F4F6;color:#374151;}
.ib-status-cancelled{background:#FEE2E2;color:#991B1B;}
.ib-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:32px;color:var(--ib-text-light);}
.ib-spinner{width:20px;height:20px;border:2px solid var(--ib-border);border-top-color:var(--ib-amber);border-radius:50%;animation:ibSpin .7s linear infinite;}
@keyframes ibSpin{to{transform:rotate(360deg)}}
@media(max-width:480px){
  .ib-card-body{padding:16px;}
  .ib-step-label{display:none;}
  .ib-step.active .ib-step-label{display:block;}
  .ib-step-line{min-width:8px;max-width:20px;margin:0 5px;}
  .ib-nav{flex-wrap:wrap;}
  .ib-btn{width:100%;justify-content:center;}
  .ib-qty-ctrl{width:100%;justify-content:flex-end;margin-top:8px;}
  .ib-prod-card{flex-wrap:wrap;}
}
