.ado-gpm{
    margin:1.5rem 0
}

.ado-gpm__title{
    display:block;
    margin:0 0 .75rem;
    font-weight:600;
    font-size:1rem;
    line-height:1.4;
    color:#1f2937
}

.ado-gpm__stage{
    position:relative;
    width:100%;
    padding-top:var(--ado-gpm-ratio,70%);
    background:#f5f5f5;
    border:1px solid #d1d5db;
    border-radius:12px;
    overflow:hidden
}

.ado-gpm__base,.ado-gpm__overlay,.ado-gpm__labels{
    position:absolute;
    inset:0;
    width:100%;
    height:100%
}

.ado-gpm__base{
    object-fit:cover
}

.ado-gpm__overlay svg{
    display:block;
    width:100%;
    height:100%
}

.ado-gpm__labels{
    pointer-events:none
}

.ado-gpm__label{
    position:absolute;
    transform:translate(-50%,-50%);
    display:flex;
    flex-direction:column;
    gap:.125rem;
    min-width:92px;
    padding:.5rem .625rem;
    background:rgba(255,255,255,.96);
    border:1px solid rgba(17,24,39,.12);
    border-radius:10px;
    box-shadow:1px 4px 16px rgba(0,0,0,.22);
    text-align:center
}

.ado-gpm__label-code{
    font-size:.6875rem;
    line-height:1.2;
    font-weight:700;
    letter-spacing:.03em;
    color:#b91c1c
}

.ado-gpm__label-price{
    font-size:.875rem;
    line-height:1.2;
    font-weight:600;
    color:#111827
}

.ado-gpm__attribution{
    display:block;
    margin-top:.5rem;
    color:#6b7280;
    font-size:.65rem;
    line-height:1.4
}

.ado-gpm-zone {
	display: inline;
	opacity: 0.32;
	stroke: #d40000;
	stroke-width: 0.864;
	stroke-linecap: butt;
	stroke-linejoin: miter;
	stroke-dasharray: none;
	stroke-opacity: 1;
    vector-effect: non-scaling-stroke;
}

.ado-gpm-fill-a {
	fill: #f4cccc;
}

.ado-gpm-fill-b {
	fill: #cfe2f3;
}

.ado-gpm-fill-c {
	fill: #d9ead3;
}

.ado-gpm-fill-d {
	fill: #f7ebcf;
}

tspan{
    stroke-width:0.264583;
}

text{
    font-style:italic;
    font-weight:bold;
    font-size:7.9375px;
    line-height:1.25;
    font-family:sans-serif;
    text-align:center;
    text-anchor:middle;
    stroke-width:0.264583;
}

@media (max-width: 767px) {
    .ado-gpm__label {
        min-width: 64px;
        padding: .25rem .375rem;
        gap: .0625rem;
        border-radius: 7px;
        box-shadow: 0 2px 8px rgba(0,0,0,.16);
    }

    .ado-gpm__label-code {
        font-size: .5625rem;
        line-height: 1.1;
        letter-spacing: .01em;
    }

    .ado-gpm__label-price {
        font-size: .6875rem;
        line-height: 1.1;
    }
}

@media (max-width: 480px) {
    .ado-gpm__label {
        min-width: 58px;
        padding: .1875rem .3125rem;
    }

    .ado-gpm__label-code {
        font-size: .5rem;
    }

    .ado-gpm__label-price {
        font-size: .625rem;
    }
}
