.pfg-price-summary{margin:12px 0 16px;width:100%;box-sizing:border-box;border-top:1px solid #dedede;font-size:15px}.pfg-price-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 8px;border-bottom:1px solid #dedede}.pfg-price-row span{font-weight:600}.pfg-price-row strong{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.pfg-price-grand{font-size:17px}.pfg-price-grand strong{font-size:20px}@media(max-width:480px){.pfg-price-row{padding:11px 4px}.pfg-price-grand strong{font-size:18px}}
/* PPOM 1.20: compact order options, final price above cart controls. */
.pfg-frontend > h3{font-size:16px!important;line-height:1.35!important;margin:0 0 14px!important;font-weight:600!important;}
.pfg-price-summary{clear:both;margin:14px 0 16px;}
.pfg-price-grand strong{color:#ff4545!important;font-weight:700;}

.pfg-font-select{display:flex;align-items:center;gap:10px}.pfg-font-select input{flex:1;min-width:0}.pfg-font-open{padding:9px 12px;border:1px solid #d1d5db;background:#f9fafb;border-radius:6px;cursor:pointer;white-space:nowrap}.pfg-font-modal[hidden]{display:none!important}.pfg-font-modal{position:fixed;z-index:999999;inset:0}.pfg-font-shade{position:absolute;inset:0;background:rgba(0,0,0,.65)}.pfg-font-dialog{position:absolute;inset:4vh 3vw;background:#fff;border-radius:10px;display:flex;flex-direction:column;overflow:hidden}.pfg-font-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #ddd}.pfg-font-head button{border:0;background:transparent;font-size:22px;cursor:pointer}.pfg-font-dialog iframe{width:100%;flex:1;border:0}.pfg-font-lock{overflow:hidden}@media(max-width:600px){.pfg-font-dialog{inset:1vh 1vw}.pfg-font-select{flex-wrap:wrap}.pfg-font-open{width:100%}}

/* PPOM photo choices */
.pfg-photo-options{display:flex;gap:12px;overflow-x:auto;padding:10px 1px 14px;scroll-snap-type:x proximity}
.pfg-photo-choice{box-sizing:border-box;border:2px solid #e4e6eb;border-radius:10px;background:#fff;padding:7px;min-width:105px;max-width:160px;cursor:pointer;text-align:center;scroll-snap-align:start;color:#20232a;font:inherit}
.pfg-photo-choice[aria-pressed="true"],.pfg-photo-choice:has(input:checked){border-color:#1b53e7;box-shadow:0 0 0 1px #1b53e7}
.pfg-photo-choice:disabled,.pfg-photo-choice:has(input:disabled){opacity:.45;cursor:not-allowed}
.pfg-photo-frame{display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:7px;background:#f4f5f7;width:100%;aspect-ratio:1/1}
.pfg-photo-frame img{width:100%;height:100%;object-fit:contain}
.pfg-photo-noimage{font-size:11px;color:#777}
.pfg-photo-label{display:block;font-size:12px;line-height:1.35;margin-top:6px;overflow-wrap:anywhere}
.pfg-photo-price{display:block;font-size:13px;font-weight:700;margin-top:3px}
.pfg-photo-radio{display:inline-flex!important;vertical-align:top;flex-direction:column;position:relative;margin:5px!important;min-width:105px;max-width:155px;gap:5px}
.pfg-photo-radio input{position:absolute;top:7px;left:7px;z-index:1;accent-color:#1b53e7}
.pfg-photo-radio .pfg-photo-caption{display:block;font-size:12px;line-height:1.4}
.pfg-photo-radio .pfg-photo-caption .woocommerce-Price-amount{font-weight:700}
@media(max-width:600px){.pfg-photo-choice{min-width:94px;max-width:122px;padding:5px}.pfg-photo-label{font-size:11px}}

/* Select Photo 1.31.5: one accessible dropdown with image + full option name */
.pfg-frontend select.pfg-photo-native{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;clip-path:inset(50%);}
.pfg-photo-dropdown{position:relative;width:100%;min-width:0;font-size:14px}
.pfg-photo-trigger{width:100%;display:flex!important;align-items:center;gap:12px;min-height:60px;padding:8px 12px!important;border:1px solid #d7dce2!important;border-radius:6px!important;background:#fff!important;color:#20242b!important;text-align:left!important;cursor:pointer;box-sizing:border-box;line-height:1.4!important;text-transform:none!important;letter-spacing:normal!important}
.pfg-photo-trigger-image{width:42px;height:42px;flex:0 0 42px;display:flex;align-items:center;justify-content:center;border-radius:4px;overflow:hidden;background:#f8f8f8}
.pfg-photo-trigger-image:empty{display:none}.pfg-photo-trigger-image img{width:100%;height:100%;object-fit:contain}
.pfg-photo-trigger-title{flex:1;min-width:0;overflow-wrap:break-word;word-break:normal;white-space:normal;font-weight:500}
.pfg-photo-trigger-arrow{font-size:20px;flex:0 0 auto}
.pfg-photo-menu[hidden]{display:none!important}.pfg-photo-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:9999;background:#fff;border:1px solid #d7dce2;border-radius:8px;box-shadow:0 10px 28px rgba(0,0,0,.15);max-height:340px;overflow-y:auto;padding:5px}
.pfg-photo-option{width:100%;display:flex!important;align-items:center;gap:12px;padding:8px!important;border:0!important;border-radius:5px!important;background:#fff!important;color:#20242b!important;text-align:left!important;line-height:1.4!important;text-transform:none!important;letter-spacing:normal!important;cursor:pointer;box-sizing:border-box}
.pfg-photo-option:hover,.pfg-photo-option:focus,.pfg-photo-option[aria-selected="true"]{background:#f0f5ff!important;outline:none}.pfg-photo-option:disabled{opacity:.45;cursor:not-allowed}
.pfg-photo-option-image{width:56px;height:56px;flex:0 0 56px;display:flex;align-items:center;justify-content:center;background:#f7f8fa;border-radius:5px;overflow:hidden}.pfg-photo-option-image img{width:100%;height:100%;object-fit:contain}
.pfg-photo-option-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;overflow-wrap:break-word;word-break:normal;white-space:normal}.pfg-photo-option-name{display:block;font-size:14px;font-weight:600;line-height:1.4}.pfg-photo-option-sub{display:block;font-size:12px;color:#64748b}.pfg-photo-option .pfg-photo-noimage{font-size:10px;text-align:center}
@media(max-width:480px){.pfg-photo-option-image{width:48px;height:48px;flex-basis:48px}.pfg-photo-trigger{min-height:54px}}

/* Radio Photo 1.31.6: hide actual radio, show only photo and caption; WoodMart-safe selected state. */
.pfg-frontend label.pfg-photo-radio{display:inline-flex!important;flex-direction:column!important;align-items:stretch!important;justify-content:flex-start!important;box-sizing:border-box!important;position:relative!important;vertical-align:top!important;min-width:115px!important;max-width:175px!important;width:155px!important;padding:9px!important;margin:5px!important;gap:7px!important;border:2px solid #e2e5e9!important;border-radius:10px!important;background:#fff!important;box-shadow:none!important;cursor:pointer!important;overflow:hidden!important;text-align:center!important;white-space:normal!important;line-height:normal!important}
.pfg-frontend label.pfg-photo-radio>input[type=radio]{position:absolute!important;opacity:0!important;width:1px!important;height:1px!important;min-width:0!important;padding:0!important;margin:0!important;border:0!important;clip-path:inset(50%)!important;pointer-events:none!important}
.pfg-frontend label.pfg-photo-radio:has(>input[type=radio]:checked){border-color:#e1242c!important;background:#ededed!important;box-shadow:0 0 0 1px #e1242c!important}
.pfg-frontend label.pfg-photo-radio:focus-within{outline:2px solid #e1242c;outline-offset:2px}
.pfg-frontend label.pfg-photo-radio .pfg-photo-frame{width:100%!important;height:auto!important;aspect-ratio:1/1!important;background:transparent!important;flex:0 0 auto!important}
.pfg-frontend label.pfg-photo-radio .pfg-photo-frame img{width:100%!important;height:100%!important;max-height:none!important;object-fit:contain!important;display:block!important}
.pfg-frontend label.pfg-photo-radio .pfg-photo-caption{width:100%!important;display:block!important;overflow-wrap:break-word!important;word-break:normal!important;white-space:normal!important;font-size:13px!important;line-height:1.35!important;color:#20232a!important;margin:0!important;padding:0!important}
@media(max-width:480px){.pfg-frontend label.pfg-photo-radio{width:calc(50% - 12px)!important;min-width:110px!important;max-width:175px!important}}

/* Radio Button: compact pill-style choices, independent from Radio Photo. */
.pfg-frontend label.pfg-radio-button{display:inline-flex!important;align-items:center!important;justify-content:center!important;vertical-align:middle!important;position:relative!important;box-sizing:border-box!important;width:auto!important;min-width:0!important;max-width:100%!important;min-height:35px!important;margin:4px 6px 4px 0!important;padding:8px 13px!important;border:1px solid #c9c9c9!important;border-radius:5px!important;background:#fff!important;color:#171717!important;font-size:14px!important;font-weight:500!important;line-height:1.3!important;text-align:center!important;white-space:normal!important;cursor:pointer!important;transition:background-color .12s,border-color .12s,color .12s!important}
.pfg-frontend label.pfg-radio-button>input[type=radio]{position:absolute!important;width:1px!important;height:1px!important;min-width:0!important;opacity:0!important;clip-path:inset(50%)!important;margin:0!important;padding:0!important;border:0!important;pointer-events:none!important}
.pfg-frontend label.pfg-radio-button:has(>input[type=radio]:checked){background:#922325!important;border-color:#922325!important;color:#fff!important}
.pfg-frontend label.pfg-radio-button:has(>input[type=radio]:checked) .woocommerce-Price-amount{color:inherit!important}
.pfg-frontend label.pfg-radio-button:focus-within{outline:2px solid #922325!important;outline-offset:2px!important}
.pfg-frontend label.pfg-radio-button:has(>input[type=radio]:disabled){opacity:.5!important;cursor:not-allowed!important}
@media(max-width:480px){.pfg-frontend label.pfg-radio-button{padding:9px 11px!important;font-size:13px!important}}

/* Per-field Radio Photo dimensions configured in group editor. */
.pfg-frontend label.pfg-photo-radio{width:var(--pfg-radio-width,155px)!important;min-width:0!important;max-width:none!important}
.pfg-frontend label.pfg-photo-radio .pfg-photo-frame{height:var(--pfg-radio-height,155px)!important;aspect-ratio:auto!important}
@media(max-width:480px){.pfg-frontend label.pfg-photo-radio{width:min(var(--pfg-radio-width,155px),calc(100% - 12px))!important;min-width:0!important;max-width:none!important}}

/* 1.32.1 Radio Photo: exactly one border; red when checked, grey otherwise. */
.pfg-frontend label.pfg-photo-radio,
.pfg-frontend label.pfg-photo-radio:hover,
.pfg-frontend label.pfg-photo-radio:focus,
.pfg-frontend label.pfg-photo-radio:focus-within,
.pfg-frontend label.pfg-photo-radio:active {
  border:2px solid #d9dde3!important;
  background:#fff!important;
  outline:0!important;
  outline-offset:0!important;
  box-shadow:none!important;
  -webkit-box-shadow:none!important;
}
.pfg-frontend label.pfg-photo-radio:has(>input[type=radio]:checked),
.pfg-frontend label.pfg-photo-radio:has(>input[type=radio]:checked):hover,
.pfg-frontend label.pfg-photo-radio:has(>input[type=radio]:checked):focus-within {
  border-color:#e1242c!important;
  background:#ededed!important;
  outline:0!important;
  box-shadow:none!important;
  -webkit-box-shadow:none!important;
}
/* Keep keyboard focus accessible without painting a second ring. */
.pfg-frontend label.pfg-photo-radio:has(>input[type=radio]:focus-visible) {
  border-style:dashed!important;
}

/* 1.32.2: fixed 3-line text region for Radio Photo; amount remains visible underneath. */
.pfg-frontend label.pfg-photo-radio .pfg-photo-caption{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important;flex:1 0 auto!important;min-width:0!important;}
.pfg-frontend label.pfg-photo-radio .pfg-photo-caption-name{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:3!important;line-clamp:3;overflow:hidden!important;text-overflow:ellipsis!important;height:calc(3 * 1.35em)!important;max-height:calc(3 * 1.35em)!important;min-height:calc(3 * 1.35em)!important;line-height:1.35!important;overflow-wrap:anywhere!important;}
.pfg-frontend label.pfg-photo-radio .pfg-photo-caption-price{display:block!important;margin-top:auto!important;min-height:1.35em!important;color:#e1242c!important;white-space:nowrap!important;font-size:12px!important;}
.pfg-frontend label.pfg-photo-radio .pfg-photo-stock{display:block!important;font-size:11px!important;}
