/* JustMyPizza High-End iframe system — loaded after embedded legacy CSS */
@font-face{font-family:JMPDisplay;src:url('../fonts/fat-frank-heavy.woff2') format('woff2');font-weight:900;font-display:swap}
:root{
 --hi-red:#e12525;--hi-red-dark:#bd1718;--hi-red-soft:#fff0ef;--hi-ink:#171615;
 --hi-muted:#746f6b;--hi-bg:#f6f5f3;--hi-surface:#fff;--hi-line:#e8e4e0;
 --hi-warm:#f4eee8;--hi-green:#159455;--hi-orange:#f08c34;
 --hi-r-sm:10px;--hi-r:16px;--hi-r-lg:22px;
 --hi-shadow:0 14px 40px rgba(31,22,17,.09);--hi-shadow-lg:0 28px 78px rgba(25,15,10,.18);
 color-scheme:light
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--hi-bg)!important}
html,body{width:100%;min-height:100%;margin:0;color:var(--hi-ink)!important;background:var(--hi-bg)!important;background-image:none!important;font-family:'DM Sans',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;line-height:1.45;-webkit-font-smoothing:antialiased}
body::before{display:none!important}
::selection{color:#fff;background:var(--hi-red)}
img,svg{max-width:100%}
button,input,select,textarea{font:inherit}
button{-webkit-appearance:none;appearance:none}
input,select,textarea{-webkit-appearance:none;appearance:none}
:where(button,a,input,select,textarea):focus-visible{outline:3px solid rgba(225,37,37,.24)!important;outline-offset:3px!important}

/* Shared page shells */
.page,.wrapper,.container,.content,.layout,.inner,.containerForm{color:var(--hi-ink)!important}
.page,.wrapper{width:min(1120px,100%)!important;margin-inline:auto!important}
.topbar,.page-topbar,.header,.card-head,.section-head{border-color:var(--hi-line)!important}
.topbar,.page-topbar{background:rgba(255,255,255,.96)!important;box-shadow:0 1px 0 var(--hi-line)!important;backdrop-filter:blur(14px)!important;-webkit-backdrop-filter:blur(14px)!important}
.logo img,.brand img{border-radius:13px!important;box-shadow:0 8px 22px rgba(225,37,37,.13)!important}
.brand-copy,.brand,.title,.page-title,h1,h2,h3{color:var(--hi-ink)!important}
.kicker,.card-kicker,.eyebrow{color:var(--hi-red)!important;font-weight:850!important;letter-spacing:.11em!important;text-transform:uppercase!important}

/* Cards and panels */
.card,.if-card,.auth-card,.account-card,.panel,.payment-card,.sidebar-panel,.hero-card,.box,.pm,.quick,.m-acc-item{
 border:1px solid var(--hi-line)!important;border-radius:var(--hi-r)!important;background:var(--hi-surface)!important;
 box-shadow:var(--hi-shadow)!important;color:var(--hi-ink)!important
}
.card-head,.section-head{background:#fff!important;border-bottom:1px solid var(--hi-line)!important}
.card-title,.section-title,.pm-title,.m-sheet-title{color:var(--hi-ink)!important;font-weight:900!important;letter-spacing:-.02em!important}
.card-sub,.section-sub,.pm-sub,.muted,.hero-sub{color:var(--hi-muted)!important}
.badge,.pill,.status-badge{border:0!important;border-radius:999px!important;background:var(--hi-red-soft)!important;color:var(--hi-red)!important;font-weight:850!important}
.quick{box-shadow:none!important}.quick-k{color:var(--hi-muted)!important}.quick-v{color:var(--hi-ink)!important;font-weight:900!important}.quick-sub{color:var(--hi-muted)!important}

/* Buttons */
button,.btn,.btn-primary,.btn-secondary,.btn-ghost,.primary-btn,.submit-btn,input[type=submit]{
 min-height:48px!important;border-radius:11px!important;font-weight:900!important;transition:transform .17s ease,background .17s ease,box-shadow .17s ease,border-color .17s ease!important;cursor:pointer
}
.btn-primary,.primary-btn,.submit-btn,input[type=submit],button[type=submit]{
 border:0!important;background:var(--hi-red)!important;color:#fff!important;box-shadow:0 10px 24px rgba(225,37,37,.22)!important
}
.btn-primary:hover,.primary-btn:hover,.submit-btn:hover,input[type=submit]:hover,button[type=submit]:hover{
 background:var(--hi-red-dark)!important;transform:translateY(-1px)!important;box-shadow:0 13px 28px rgba(225,37,37,.27)!important
}
.btn-secondary,.btn-ghost{border:1px solid var(--hi-line)!important;background:#fff!important;color:var(--hi-ink)!important;box-shadow:none!important}
.btn-secondary:hover,.btn-ghost:hover{border-color:#d7cbc4!important;background:#faf8f6!important;color:var(--hi-red)!important}
.close,.close-btn,.oh-close,.m-sheet-close{border:0!important;border-radius:50%!important;background:#f3f1ef!important;color:var(--hi-ink)!important;box-shadow:none!important}

/* Forms */
.field,.form-field,.form-group,.input-wrap{color:var(--hi-ink)!important}
.label,.form-label,label{color:var(--hi-ink)!important;font-weight:800!important}
.input,.select,.textarea,.form-control,
input:not([type=hidden]):not([type=checkbox]):not([type=radio]),select,textarea{
 min-height:48px!important;border:1.5px solid #ded8d3!important;border-radius:11px!important;background:#fff!important;color:var(--hi-ink)!important;box-shadow:none!important
}
textarea{min-height:92px!important;resize:vertical}
input[type=checkbox],input[type=radio]{min-height:0!important;accent-color:var(--hi-red)}
.input:focus,.select:focus,.textarea:focus,.form-control:focus,
input:not([type=hidden]):focus,select:focus,textarea:focus{
 border-color:var(--hi-red)!important;outline:4px solid rgba(225,37,37,.08)!important
}
input::placeholder,textarea::placeholder{color:#9a948f!important}
.form-grid{gap:14px!important}

/* Navigation, account and checkout structures */
.tab,.side-link,.menuitem,.m-bnav-item{border-radius:10px!important;color:var(--hi-muted)!important}
.tab.active,.side-link.active,.menuitem.active,.m-bnav-item.active{background:var(--hi-red-soft)!important;color:var(--hi-red)!important}
.sidebar,.sidebar-panel{background:#fff!important}
.link-row,.m-acc-item{border-color:var(--hi-line)!important;box-shadow:none!important}
.m-acc-item-ic,.m-bnav-icon,.points-icon{border-radius:12px!important;background:var(--hi-red-soft)!important;color:var(--hi-red)!important}
.m-acc-item-title,.m-acc-status-name{color:var(--hi-ink)!important}.m-acc-item-sub,.m-acc-item-text{color:var(--hi-muted)!important}
.payment-layout,.pay-grid{gap:14px!important}
.pay-grid>*{border:1px solid var(--hi-line)!important;border-radius:14px!important;background:#fff!important;box-shadow:none!important}
.pay-grid>*:hover{border-color:#e2b7b5!important;background:#fffafa!important}
.progress,.progressbar,.bar{background:#eeeae7!important}.progress>*,.progressbar>*,.bar>*{background:var(--hi-red)!important}
.step.active,.step.done{color:var(--hi-red)!important}.step.active .dot,.step.done .dot{background:var(--hi-red)!important}
.alert,.alert-err{border:1px solid #efd0ce!important;border-radius:12px!important;background:#fff4f3!important;color:#9f2424!important}
.points-banner{border:1px solid #f2d7b7!important;border-radius:14px!important;background:#fff8ee!important;box-shadow:none!important}
.points-label,.points-value{color:#8d4a16!important}.points-number{color:var(--hi-orange)!important}
.sticky-submit{background:rgba(255,255,255,.95)!important;border-top:1px solid var(--hi-line)!important;backdrop-filter:blur(16px)!important;-webkit-backdrop-filter:blur(16px)!important}

/* Legal, status and information pages */
.content h1,.content h2,.content h3{letter-spacing:-.02em!important}.content p,.content li,.kv{color:#5f5a56!important}
.content a,.link,a{color:var(--hi-red-dark)}
.kv{border-color:var(--hi-line)!important}.line{background:var(--hi-line)!important}
.hero-card{background:linear-gradient(145deg,#fff,#faf7f4)!important}
.hero-title{font-family:JMPDisplay,'DM Sans',sans-serif!important;letter-spacing:-.025em!important}
.cta{border-radius:13px!important;background:var(--hi-red)!important;color:#fff!important;box-shadow:0 12px 28px rgba(225,37,37,.22)!important}

/* Promotional popup */
.pm{overflow:hidden!important;border:0!important;box-shadow:none!important}
.pm .close,.pm .close-btn{top:14px!important;right:14px!important;width:42px!important;height:42px!important;background:rgba(255,255,255,.94)!important;box-shadow:0 8px 24px rgba(0,0,0,.12)!important}
.pm-title{font-family:JMPDisplay,'DM Sans',sans-serif!important}.tip-btn{border-radius:11px!important}

/* Product configurator: desktop */
@media(min-width:821px){
 html,body{height:100%;overflow:hidden!important}
 .addon-page{position:relative!important;width:100%!important;max-width:none!important;height:100vh!important;height:100dvh!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:hidden!important;background:#fff!important}
 .addon-wrap{width:100%!important;max-width:none!important;height:100%!important;margin:0!important;padding:0!important}
 #dataform{display:grid!important;grid-template-columns:minmax(320px,36%) minmax(0,64%)!important;grid-auto-flow:row!important;align-content:start!important;width:100%!important;height:100%!important;padding:0 0 86px!important;overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;scrollbar-gutter:stable!important;background:#fff!important}
 .addon-topbar{position:fixed!important;top:15px!important;right:16px!important;left:auto!important;width:46px!important;z-index:600!important}
 .addon-close{width:44px!important;height:44px!important;border:1px solid rgba(18,18,18,.08)!important;border-radius:50%!important;background:rgba(255,255,255,.96)!important;box-shadow:0 8px 26px rgba(25,17,12,.14)!important}
 .product-hero{grid-column:1!important;grid-row:1!important;position:relative!important;align-self:stretch!important;width:100%!important;height:228px!important;min-height:228px!important;max-height:228px!important;aspect-ratio:auto!important;border:0!important;border-right:1px solid var(--hi-line)!important;border-bottom:1px solid var(--hi-line)!important;border-radius:0!important;overflow:hidden!important;background:radial-gradient(circle at center,#fff 0,#fff 54%,#f8f2ed 100%)!important}
 .product-image-wrap{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important;padding:12px 18px!important;background:transparent!important}
 .product-image{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important;filter:drop-shadow(0 12px 18px rgba(91,42,20,.10))!important}
 .product-meta{grid-column:2!important;grid-row:1!important;display:flex!important;width:100%!important;max-width:none!important;min-width:0!important;height:228px!important;min-height:228px!important;max-height:228px!important;margin:0!important;padding:21px 76px 18px 27px!important;flex-direction:column!important;justify-content:center!important;align-self:stretch!important;justify-self:stretch!important;border:0!important;border-bottom:1px solid var(--hi-line)!important;background:linear-gradient(135deg,#fff 0%,#fff 74%,#faf6f3 100%)!important;overflow:auto!important}
 .product-title{max-width:720px!important;margin:0 0 5px!important;font-size:clamp(25px,2.5vw,33px)!important;font-weight:900!important;line-height:1.06!important;letter-spacing:-.035em!important}
 .product-price{margin:0 0 5px!important;font-size:17px!important}.product-size{margin:0 0 7px!important;font-size:13px!important}.product-desc{max-width:720px!important;margin:0!important;font-size:14px!important;line-height:1.4!important;color:#6f6761!important}
 .points-reward-banner{max-width:720px!important;margin-top:10px!important;padding:8px 11px!important;border:1px solid #f2d6af!important;border-radius:12px!important;background:#fff8ee!important;gap:9px!important}.points-icon{width:31px!important;height:31px!important;font-size:14px!important}
 .section-card,.notes-card{grid-column:1/-1!important;width:100%!important;max-width:none!important;margin:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important}
 .section-card{border-bottom:1px solid var(--hi-line)!important}
 .section-card--single{display:grid!important;grid-template-columns:minmax(205px,27%) minmax(0,1fr)!important;align-items:center!important;padding:8px 24px!important}
 .section-card--single .section-head{padding:0 18px 0 0!important;margin:0!important;border:0!important;background:transparent!important}
 .section-card--single .addon-select{width:100%!important;min-height:44px!important;margin:0!important;padding:9px 43px 9px 14px!important;border:1px solid #e2ddd9!important;border-radius:11px!important;background-color:#fff!important;box-shadow:0 4px 15px rgba(39,25,18,.03)!important}
 .section-card--multiple .section-head{padding:11px 24px 8px!important;margin:0!important;border:0!important;background:linear-gradient(90deg,#faf7f4,#fff 65%)!important}
 .section-head{min-height:0!important}.section-title{font-size:16px!important;font-weight:900!important}.section-pill{padding:4px 9px!important;border:0!important;border-radius:999px!important;background:var(--hi-ink)!important;color:#fff!important;font-size:9px!important}.section-sub{display:none!important}
 .options-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;padding:0 24px 12px!important;background:#fff!important}
 .option-card{display:flex!important;align-items:center!important;min-width:0!important;min-height:54px!important;padding:9px 11px!important;gap:10px!important;border:1px solid #ebe6e2!important;border-radius:12px!important;background:#fff!important;box-shadow:0 4px 14px rgba(44,28,19,.025)!important;transition:border-color .17s,background .17s,box-shadow .17s!important}
 .option-card:hover{border-color:#e5b4b2!important;background:#fffafa!important;box-shadow:0 7px 17px rgba(81,35,30,.05)!important}
 .option-card.is-selected{border-color:var(--hi-red)!important;background:var(--hi-red-soft)!important}
 .option-card input[type=checkbox],.option-card input[type=radio]{flex:0 0 20px!important;width:20px!important;height:20px!important;min-height:0!important;margin:0!important;border:2px solid #cfc8c2!important;border-radius:50%!important;background:#fff!important}
 .option-card input[type=checkbox]:checked,.option-card input[type=radio]:checked{border-color:var(--hi-red)!important;background:var(--hi-red)!important}
 .option-copy{min-width:0!important;gap:1px!important}.option-title{min-width:0!important;font-size:13px!important;line-height:1.25!important;gap:7px!important}.option-meta{font-size:11px!important}.addon-price{font-size:12px!important}
 .notes-card{padding:13px 24px 18px!important;background:#faf9f8!important}.notes-title{font-size:15px!important}.notes-sub{margin-bottom:7px!important;font-size:12px!important}.notes-field{min-height:62px!important;max-height:86px!important;padding:10px 12px!important;border-radius:11px!important;font-size:14px!important}
 .submit-bar{position:fixed!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;max-width:none!important;margin:0!important;padding:11px 24px!important;border-top:1px solid rgba(47,31,22,.08)!important;background:rgba(255,255,255,.95)!important;backdrop-filter:blur(18px) saturate(150%)!important;-webkit-backdrop-filter:blur(18px) saturate(150%)!important;z-index:500!important}
 .submit-inner{width:100%!important;max-width:none!important;margin:0!important}.submit-btn{min-height:54px!important;border-radius:13px!important}
}

/* Product configurator: mobile Safari/Chrome */
@media(max-width:820px){
 html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important;background:#fff!important}
 body{min-height:100vh!important;min-height:100dvh!important}
 .addon-page{width:100%!important;max-width:none!important;min-height:100vh!important;min-height:100dvh!important;margin:0!important;padding:0 0 100px!important;border:0!important;border-radius:0!important;box-shadow:none!important;background:#fff!important}
 .addon-wrap{width:100%!important;max-width:none!important}
 #dataform{display:block!important;width:100%!important;height:auto!important;padding:0!important;overflow:visible!important}
 .product-hero{width:100%!important;height:min(56vw,245px)!important;min-height:205px!important;max-height:245px!important;aspect-ratio:auto!important;border-radius:0 0 21px 21px!important;background:radial-gradient(circle at center,#fff 0,#fff 52%,#f8f2ed 100%)!important}
 .product-image-wrap{display:flex!important;align-items:center!important;justify-content:center!important;width:100%!important;height:100%!important;padding:10px 17px!important;background:transparent!important}
 .product-image{width:100%!important;height:100%!important;object-fit:contain!important;filter:drop-shadow(0 10px 16px rgba(90,40,18,.10))!important}
 .addon-topbar{position:fixed!important;top:max(12px,env(safe-area-inset-top))!important;right:12px!important;left:auto!important;width:46px!important;z-index:600!important}.addon-close{width:44px!important;height:44px!important;border:1px solid rgba(18,18,18,.08)!important;background:rgba(255,255,255,.96)!important;box-shadow:0 8px 24px rgba(30,20,15,.14)!important}
 .product-meta{width:100%!important;max-width:none!important;padding:18px 17px 16px!important;margin:0!important;background:#fff!important}.product-title{margin-right:50px!important;font-size:25px!important}.product-price{margin-bottom:5px!important}.product-size{margin-bottom:7px!important}.product-desc{font-size:14px!important}
 .points-reward-banner{margin-top:11px!important;padding:9px 11px!important;border-radius:12px!important}
 .section-card{margin:0!important;border:0!important;border-top:7px solid #f7f4f1!important;border-radius:0!important;box-shadow:none!important;background:#fff!important}
 .section-head{padding:14px 17px 9px!important;margin:0!important;border:0!important;background:linear-gradient(90deg,#faf7f4,#fff)!important}.section-title{font-size:16px!important}.section-pill{padding:4px 8px!important;border-radius:999px!important;font-size:9px!important}
 .addon-select{width:calc(100% - 34px)!important;min-height:50px!important;margin:0 17px 13px!important;padding:10px 43px 10px 13px!important;border-radius:12px!important;border-color:#e3ddd8!important;font-size:16px!important}
 .options-grid{display:grid!important;grid-template-columns:1fr!important;gap:7px!important;padding:0 17px 14px!important}
 .option-card{display:flex!important;align-items:center!important;min-height:57px!important;padding:10px 12px!important;gap:11px!important;border:1px solid #ebe6e2!important;border-radius:12px!important;box-shadow:0 3px 12px rgba(44,28,19,.025)!important}
 .option-card.is-selected{border-color:var(--hi-red)!important;background:var(--hi-red-soft)!important}
 .option-card input[type=checkbox],.option-card input[type=radio]{flex:0 0 21px!important;width:21px!important;height:21px!important;min-height:0!important;margin:0!important}.option-title{font-size:14px!important}.option-meta{font-size:12px!important}.addon-price{font-size:13px!important}
 .notes-card{margin:0!important;padding:15px 17px 21px!important;border:0!important;border-top:7px solid #f7f4f1!important;border-radius:0!important;box-shadow:none!important;background:#fff!important}.notes-field{min-height:76px!important;border-radius:12px!important;font-size:16px!important}
 .submit-bar{position:fixed!important;right:0!important;bottom:0!important;left:0!important;width:100%!important;max-width:none!important;margin:0!important;padding:10px 13px max(10px,env(safe-area-inset-bottom))!important;border-top:1px solid rgba(47,31,22,.08)!important;background:rgba(255,255,255,.96)!important;backdrop-filter:blur(18px) saturate(150%)!important;-webkit-backdrop-filter:blur(18px) saturate(150%)!important;z-index:500!important}
 .submit-inner{width:100%!important;max-width:none!important}.submit-btn{min-height:54px!important;border-radius:13px!important;font-size:16px!important}
}
@supports(-webkit-touch-callout:none){
 @media(max-width:820px){input,select,textarea{font-size:16px!important}.addon-page{min-height:-webkit-fill-available!important}}
}
@media(max-width:370px){.product-hero{height:202px!important;min-height:202px!important}.product-meta{padding-left:14px!important;padding-right:14px!important}.product-title{font-size:23px!important}.options-grid{padding-left:14px!important;padding-right:14px!important}.addon-select{width:calc(100% - 28px)!important;margin-left:14px!important;margin-right:14px!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}


/* Standalone rating flow */
.page-shell {
  min-height: 100vh;
  min-height: 100dvh;
  padding: clamp(18px, 4vw, 44px) max(16px, env(safe-area-inset-left));
  background:
    radial-gradient(circle at 10% 0%, rgba(255,71,67,.12), transparent 34%),
    linear-gradient(180deg, #fff 0%, #f8f7f5 100%);
}
.page-shell .container,
body > .container {
  width: min(100%, 760px);
  margin: 0 auto;
  padding: clamp(20px, 4vw, 38px);
  border: 1px solid var(--hi-line);
  border-radius: var(--hi-radius-xl);
  background: rgba(255,255,255,.98);
  box-shadow: var(--hi-shadow-lg);
}
.success-box,
.rating-summary,
.comment-box {
  margin: 0 auto 18px;
  padding: clamp(18px, 3vw, 28px);
  border: 1px solid var(--hi-line);
  border-radius: var(--hi-radius-lg);
  background: #fff;
  box-shadow: var(--hi-shadow-sm);
}
.company-logo { display: block; max-width: 180px; max-height: 100px; margin: 0 auto 20px; object-fit: contain; }
.rating-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.rating-widget { padding: 20px; border: 1px solid var(--hi-line); border-radius: var(--hi-radius-lg); background: var(--hi-soft); }
.rating-stars,
.stars-list { display: flex; gap: 8px; list-style: none; padding: 0; margin: 14px 0; }
.star { min-width: 42px; min-height: 42px; border: 0; color: #d4d4d8; background: transparent; font-size: 2rem; cursor: pointer; touch-action: manipulation; }
.star:hover,
.star.is-active,
.star.active,
.star.selected { color: #f59e0b; transform: translateY(-1px); }
.rating-text { font-weight: 900; color: var(--hi-ink); }
.rating-help,
.comment-label { color: var(--hi-muted); line-height: 1.55; }
.comment-box textarea { width: 100%; min-height: 128px; resize: vertical; }
.submit-row { display: flex; justify-content: flex-end; margin-top: 16px; }
.google-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 18px; border-radius: 14px; color: #fff; background: var(--hi-ink); text-decoration: none; font-weight: 800; }
.error-message,
.client-error-message { padding: 12px 14px; border: 1px solid #fecaca; border-radius: 14px; color: #991b1b; background: #fff1f2; }
@media (max-width: 640px) {
  .page-shell { padding-top: max(14px, env(safe-area-inset-top)); padding-bottom: max(14px, env(safe-area-inset-bottom)); }
  .page-shell .container,
  body > .container { padding: 18px 14px; border-radius: 20px; }
  .rating-grid { grid-template-columns: 1fr; }
  .star { min-width: 40px; }
  .submit-row { display: grid; }
  .submit-row button { width: 100%; }
}
