html.pp-f250-active, html.pp-f250-active body { min-height: 100%; }
.pp-f250-reset, .pp-f250-reset * { box-sizing: border-box; }
.pp-f250-ribbon { position: fixed; right: 18px; bottom: 18px; z-index: 2147482000; max-width: min(420px, calc(100vw - 32px)); display: flex; gap: 10px; align-items: center; padding: 12px 14px; color: #FFFFFF; background: linear-gradient(135deg, #2A2F46 0%, #641E0F 100%); border: 1px solid rgba(255, 204, 64, .65); border-radius: 999px; box-shadow: 0 16px 38px rgba(33, 32, 37, .22); font-family: Gotham, Montserrat, Arial, sans-serif; font-size: 14px; line-height: 1.3; letter-spacing: .01em; }
.pp-f250-ribbon strong { color: #FFCC40; font-weight: 800; }
.pp-f250-ribbon__star { flex: 0 0 auto; color: #FFCC40; font-size: 18px; transform: translateY(-1px); }
.pp-f250-ribbon__text { min-width: 0; }
.pp-f250-ribbon__link { flex: 0 0 auto; color: #212025 !important; background: #FFCC40; border-radius: 999px; padding: 7px 11px; text-decoration: none !important; font-weight: 800; white-space: nowrap; }
.pp-f250-ribbon__close { flex: 0 0 auto; width: 28px; height: 28px; border: 0; border-radius: 999px; background: rgba(255,255,255,.16); color: #FFFFFF; cursor: pointer; font: 700 18px/28px Arial, sans-serif; padding: 0; }
.pp-f250-ribbon__close:hover, .pp-f250-ribbon__close:focus { background: rgba(255,255,255,.28); outline: 2px solid rgba(255,204,64,.9); outline-offset: 2px; }
.pp-f250-overlay { position: fixed; inset: 0; z-index: 2147483000; display: grid; place-items: center; padding: 18px; background: radial-gradient(circle at 20% 15%, rgba(100,200,220,.32), transparent 30%), radial-gradient(circle at 80% 20%, rgba(255,204,64,.22), transparent 24%), rgba(33,32,37,.76); backdrop-filter: blur(5px); -webkit-backdrop-filter: blur(5px); font-family: Gotham, Montserrat, Arial, sans-serif; }
.pp-f250-dialog { position: relative; width: min(680px, 100%); overflow: hidden; color: #2A2F46; background: #F9F5EE; border: 2px solid rgba(42,47,70,.22); border-radius: 26px; box-shadow: 0 24px 80px rgba(0,0,0,.36); }
.pp-f250-dialog:before { content: ''; position: absolute; inset: 14px; pointer-events: none; border: 2px solid rgba(145,164,170,.72); border-radius: 18px; }
.pp-f250-dialog:after { content: ''; position: absolute; left: 36px; right: 36px; bottom: 118px; pointer-events: none; border-top: 4px dotted rgba(145,164,170,.74); }
.pp-f250-dialog__inner { position: relative; z-index: 1; padding: 42px 42px 34px; text-align: center; }
.pp-f250-logo-lockup { display: flex; align-items: center; justify-content: center; gap: 18px; margin: 0 auto 22px; }
.pp-f250-logo-card { width: 116px; height: 116px; display: grid; place-items: center; padding: 14px; border-radius: 24px; background: #FFFFFF; border: 1px solid rgba(145,164,170,.45); box-shadow: 0 9px 28px rgba(42,47,70,.10); }
.pp-f250-logo-card--f250 { padding: 7px; }
.pp-f250-logo-card img { max-width: 100%; max-height: 100%; display: block; object-fit: contain; }
.pp-f250-logo-x { color: #BC2A29; font-size: 28px; line-height: 1; font-weight: 900; }
.pp-f250-kicker { margin: 0 0 8px; color: #BC2A29; font-size: 12px; font-weight: 900; letter-spacing: .24em; text-transform: uppercase; }
.pp-f250-title { margin: 0; color: #2A2F46; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(46px, 8.5vw, 86px); font-style: italic; line-height: .95; letter-spacing: -.035em; }
.pp-f250-copy { max-width: 520px; margin: 18px auto 28px; color: #4E4844; font-size: 17px; line-height: 1.55; }
.pp-f250-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.pp-f250-primary, .pp-f250-secondary { appearance: none; border: 0; border-radius: 999px; padding: 13px 20px; font-family: Gotham, Montserrat, Arial, sans-serif; font-size: 15px; font-weight: 900; cursor: pointer; text-decoration: none !important; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.pp-f250-primary { color: #212025 !important; background: #FFCC40; box-shadow: 0 10px 24px rgba(188,42,41,.16); }
.pp-f250-secondary { color: #2A2F46; background: rgba(42,47,70,.08); }
.pp-f250-primary:hover, .pp-f250-primary:focus, .pp-f250-secondary:hover, .pp-f250-secondary:focus { transform: translateY(-1px); outline: 2px solid rgba(188,42,41,.55); outline-offset: 3px; }
.pp-f250-close { position: absolute; z-index: 2; top: 18px; right: 18px; width: 38px; height: 38px; border: 0; border-radius: 999px; background: #2A2F46; color: #FFFFFF; cursor: pointer; font: 900 24px/38px Arial, sans-serif; padding: 0; }
.pp-f250-close:hover, .pp-f250-close:focus { background: #BC2A29; outline: 2px solid #FFCC40; outline-offset: 3px; }
.pp-f250-brand-strip { display: flex; align-items: center; justify-content: flex-end; gap: 12px; min-height: 58px; padding: 11px 34px; background: #BC2A29; color: #FFFFFF; font-size: 11px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.pp-f250-brand-strip span:first-child { margin-right: auto; text-align: left; }
.pp-f250-mini-mark { height: 28px; width: 28px; display: inline-grid; place-items: center; border-radius: 7px; background: rgba(255,255,255,.12); overflow: hidden; }
.pp-f250-mini-mark img { width: 100%; height: 100%; object-fit: contain; filter: brightness(0) invert(1); }
#pp-f250-fireworks { position: fixed; inset: 0; z-index: 2147481000; width: 100vw; height: 100vh; pointer-events: none; }
body.pp-f250-modal-open { overflow: hidden !important; }
@media (max-width: 640px) { .pp-f250-ribbon { left: 12px; right: 12px; bottom: 12px; border-radius: 18px; align-items: flex-start; } .pp-f250-ribbon__link { display: none; } .pp-f250-dialog__inner { padding: 38px 22px 28px; } .pp-f250-logo-lockup { gap: 10px; } .pp-f250-logo-card { width: 92px; height: 92px; border-radius: 20px; } .pp-f250-dialog:after { bottom: 114px; left: 24px; right: 24px; } .pp-f250-brand-strip { padding: 10px 22px; font-size: 9px; } }
@media (prefers-reduced-motion: reduce) { .pp-f250-primary, .pp-f250-secondary { transition: none; } #pp-f250-fireworks { display: none; } }

/* PP onepagecheckout confirm mobile fix: start */
/* PortraitPress one-page checkout confirm-order mobile fix */
@media (max-width: 700px) {
  html.pp-onepagecheckout body { overflow-x: hidden; }
  html.pp-onepagecheckout .master-wrapper-page,
  html.pp-onepagecheckout .master-wrapper-content,
  html.pp-onepagecheckout .center-1,
  html.pp-onepagecheckout .page,
  html.pp-onepagecheckout .page-body,
  html.pp-onepagecheckout .checkout-page,
  html.pp-onepagecheckout .checkout-data,
  html.pp-onepagecheckout .order-summary-content,
  html.pp-onepagecheckout #checkout-confirm-order-load,
  html.pp-onepagecheckout #opc-confirm_order,
  html.pp-onepagecheckout .confirm-order {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  html.pp-onepagecheckout .order-summary-content { overflow: visible !important; }
  html.pp-onepagecheckout .order-summary-content table,
  html.pp-onepagecheckout .confirm-order table,
  html.pp-onepagecheckout #checkout-confirm-order-load table {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    table-layout: auto !important;
    border-collapse: separate !important;
  }
  html.pp-onepagecheckout .order-summary-content thead,
  html.pp-onepagecheckout .confirm-order thead,
  html.pp-onepagecheckout #checkout-confirm-order-load thead { display: none !important; }
  html.pp-onepagecheckout .order-summary-content tbody,
  html.pp-onepagecheckout .confirm-order tbody,
  html.pp-onepagecheckout #checkout-confirm-order-load tbody {
    display: block !important;
    width: 100% !important;
  }
  html.pp-onepagecheckout .order-summary-content tr,
  html.pp-onepagecheckout .confirm-order tr,
  html.pp-onepagecheckout #checkout-confirm-order-load tr {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    gap: 10px 14px;
    width: 100% !important;
    margin: 0 0 16px 0 !important;
    padding: 14px !important;
    box-sizing: border-box !important;
    border: 1px solid #dfe8f3 !important;
    border-radius: 8px !important;
    background: #fff !important;
  }
  html.pp-onepagecheckout .order-summary-content td,
  html.pp-onepagecheckout .confirm-order td,
  html.pp-onepagecheckout #checkout-confirm-order-load td {
    display: block !important;
    flex: 1 1 100% !important;
    width: auto !important;
    max-width: 100% !important;
    min-width: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-sizing: border-box !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
    text-align: left !important;
  }
  html.pp-onepagecheckout .order-summary-content td::before,
  html.pp-onepagecheckout .confirm-order td::before,
  html.pp-onepagecheckout #checkout-confirm-order-load td::before { content: none !important; display: none !important; }
  html.pp-onepagecheckout .order-summary-content td.product-picture,
  html.pp-onepagecheckout .confirm-order td.product-picture,
  html.pp-onepagecheckout #checkout-confirm-order-load td.product-picture,
  html.pp-onepagecheckout .order-summary-content td.picture,
  html.pp-onepagecheckout .confirm-order td.picture,
  html.pp-onepagecheckout #checkout-confirm-order-load td.picture {
    flex: 0 0 min(112px, 34vw) !important;
    order: 1 !important;
  }
  html.pp-onepagecheckout .order-summary-content td.product,
  html.pp-onepagecheckout .confirm-order td.product,
  html.pp-onepagecheckout #checkout-confirm-order-load td.product,
  html.pp-onepagecheckout .order-summary-content td.product-name,
  html.pp-onepagecheckout .confirm-order td.product-name,
  html.pp-onepagecheckout #checkout-confirm-order-load td.product-name {
    flex: 1 1 min(190px, 58vw) !important;
    order: 2 !important;
  }
  html.pp-onepagecheckout .order-summary-content td:not(.product-picture):not(.picture):not(.product):not(.product-name),
  html.pp-onepagecheckout .confirm-order td:not(.product-picture):not(.picture):not(.product):not(.product-name),
  html.pp-onepagecheckout #checkout-confirm-order-load td:not(.product-picture):not(.picture):not(.product):not(.product-name) { order: 3 !important; }
  html.pp-onepagecheckout .order-summary-content img,
  html.pp-onepagecheckout .confirm-order img,
  html.pp-onepagecheckout #checkout-confirm-order-load img {
    display: block !important;
    width: auto !important;
    max-width: 112px !important;
    height: auto !important;
    max-height: 132px !important;
    object-fit: contain !important;
  }
  html.pp-onepagecheckout .order-summary-content .product-name,
  html.pp-onepagecheckout .order-summary-content .attributes,
  html.pp-onepagecheckout .confirm-order .product-name,
  html.pp-onepagecheckout .confirm-order .attributes,
  html.pp-onepagecheckout #checkout-confirm-order-load .product-name,
  html.pp-onepagecheckout #checkout-confirm-order-load .attributes {
    display: block !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    line-height: 1.35 !important;
  }
  html.pp-onepagecheckout .cart-footer,
  html.pp-onepagecheckout .total-info,
  html.pp-onepagecheckout .cart-total {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  html.pp-onepagecheckout .cart-total,
  html.pp-onepagecheckout .cart-total tbody,
  html.pp-onepagecheckout .cart-total tr,
  html.pp-onepagecheckout .cart-total td {
    display: block !important;
    width: 100% !important;
    text-align: left !important;
    white-space: normal !important;
  }
  html.pp-onepagecheckout .pp-newsletter-fab { display: none !important; }
  html.pp-onepagecheckout button[aria-label="Show layout administration panel"],
  html.pp-onepagecheckout button[aria-label="Show content overlay"] { display: none !important; }
}

/* PortraitPress one-page checkout price/qty/total mobile row */
@media (max-width: 700px) {
  html.pp-onepagecheckout .order-summary-content tr.cart-item-row,
  html.pp-onepagecheckout .confirm-order tr.cart-item-row,
  html.pp-onepagecheckout #checkout-confirm-order-load tr.cart-item-row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
  }

  html.pp-onepagecheckout .order-summary-content tr.cart-item-row > td.product,
  html.pp-onepagecheckout .confirm-order tr.cart-item-row > td.product,
  html.pp-onepagecheckout #checkout-confirm-order-load tr.cart-item-row > td.product {
    flex: 1 1 100% !important;
    max-width: 100% !important;
    order: 1 !important;
  }

  html.pp-onepagecheckout .order-summary-content tr.cart-item-row > td.productpicture,
  html.pp-onepagecheckout .confirm-order tr.cart-item-row > td.productpicture,
  html.pp-onepagecheckout #checkout-confirm-order-load tr.cart-item-row > td.productpicture {
    flex: 1 1 100% !important;
    max-width: 100% !important;
    order: 2 !important;
  }

  html.pp-onepagecheckout .order-summary-content tr.cart-item-row > td.cart--unitprice,
  html.pp-onepagecheckout .order-summary-content tr.cart-item-row > td.cart--quantity,
  html.pp-onepagecheckout .order-summary-content tr.cart-item-row > td.cart--itemtotal,
  html.pp-onepagecheckout .confirm-order tr.cart-item-row > td.cart--unitprice,
  html.pp-onepagecheckout .confirm-order tr.cart-item-row > td.cart--quantity,
  html.pp-onepagecheckout .confirm-order tr.cart-item-row > td.cart--itemtotal,
  html.pp-onepagecheckout #checkout-confirm-order-load tr.cart-item-row > td.cart--unitprice,
  html.pp-onepagecheckout #checkout-confirm-order-load tr.cart-item-row > td.cart--quantity,
  html.pp-onepagecheckout #checkout-confirm-order-load tr.cart-item-row > td.cart--itemtotal {
    flex: 1 1 calc((100% - 28px) / 3) !important;
    width: auto !important;
    max-width: calc((100% - 28px) / 3) !important;
    min-width: 0 !important;
    order: 3 !important;
    padding-top: 10px !important;
    border-top: 1px solid #dfe8f3 !important;
  }

  html.pp-onepagecheckout .order-summary-content tr.cart-item-row > td.cart--unitprice *,
  html.pp-onepagecheckout .order-summary-content tr.cart-item-row > td.cart--quantity *,
  html.pp-onepagecheckout .order-summary-content tr.cart-item-row > td.cart--itemtotal *,
  html.pp-onepagecheckout .confirm-order tr.cart-item-row > td.cart--unitprice *,
  html.pp-onepagecheckout .confirm-order tr.cart-item-row > td.cart--quantity *,
  html.pp-onepagecheckout .confirm-order tr.cart-item-row > td.cart--itemtotal *,
  html.pp-onepagecheckout #checkout-confirm-order-load tr.cart-item-row > td.cart--unitprice *,
  html.pp-onepagecheckout #checkout-confirm-order-load tr.cart-item-row > td.cart--quantity *,
  html.pp-onepagecheckout #checkout-confirm-order-load tr.cart-item-row > td.cart--itemtotal * {
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  html.pp-onepagecheckout .order-summary-content td.unit-price,
  html.pp-onepagecheckout .order-summary-content td.quantity,
  html.pp-onepagecheckout .order-summary-content td.subtotal,
  html.pp-onepagecheckout .confirm-order td.unit-price,
  html.pp-onepagecheckout .confirm-order td.quantity,
  html.pp-onepagecheckout .confirm-order td.subtotal,
  html.pp-onepagecheckout #checkout-confirm-order-load td.unit-price,
  html.pp-onepagecheckout #checkout-confirm-order-load td.quantity,
  html.pp-onepagecheckout #checkout-confirm-order-load td.subtotal {
    flex: 1 1 calc((100% - 28px) / 3) !important;
    max-width: calc((100% - 28px) / 3) !important;
    min-width: 0 !important;
    order: 4 !important;
    padding-top: 10px !important;
    border-top: 1px solid #dfe8f3 !important;
  }

  html.pp-onepagecheckout .order-summary-content td.unit-price *,
  html.pp-onepagecheckout .order-summary-content td.quantity *,
  html.pp-onepagecheckout .order-summary-content td.subtotal *,
  html.pp-onepagecheckout .confirm-order td.unit-price *,
  html.pp-onepagecheckout .confirm-order td.quantity *,
  html.pp-onepagecheckout .confirm-order td.subtotal *,
  html.pp-onepagecheckout #checkout-confirm-order-load td.unit-price *,
  html.pp-onepagecheckout #checkout-confirm-order-load td.quantity *,
  html.pp-onepagecheckout #checkout-confirm-order-load td.subtotal * {
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
}
/* PP onepagecheckout confirm mobile fix: end */
