Files
pretix_cgo/src/pretix/static/pretixpresale/scss/_event.scss
Raphael Michel 26fdcc2872 Order changes: Do not allow to double-book add-ons (Z#23220592) (#5851)
* Order changes: Do not allow to double-book add-ons

* tests

* Update src/pretix/presale/templates/pretixpresale/event/fragment_addon_choice.html

Co-authored-by: Richard Schreiber <schreiber@pretix.eu>

---------

Co-authored-by: Richard Schreiber <schreiber@pretix.eu>
2026-01-29 20:42:43 +01:00

340 lines
6.4 KiB
SCSS

.addons legend {
border-bottom: none;
}
.product-row {
.addons & {
margin-left: -15px;
margin-right: -15px;
}
p {
margin-bottom: 0;
}
.input-item-count {
text-align: center;
}
.input-group-price {
margin-bottom: 3px;
}
.input-item-price {
text-align: center;
}
.availability-box {
text-align: center;
&.gone, .gone {
color: $brand-danger;
}
&.unavailable, .unavailable {
color: $alert-warning-text;
}
}
.product-description.with-picture {
margin-left: 70px;
}
.productpicture {
float: left;
margin-right: 10px;
text-decoration: none;
display: block;
}
.radio-box {
text-align: center;
label {
display: block;
width: 100%;
line-height: 19px;
margin: 0;
}
}
&.variation label {
font-weight: normal;
}
h4, .h4 {
font-size: inherit;
margin: 0;
line-height: inherit;
font-weight: bold;
a {
font-weight: bold;
}
}
h5, .h5 {
font-size: inherit;
font-weight: inherit;
margin: 0;
line-height: inherit;
}
.price del {
color: $text-muted;
display: block;
}
.price ins {
color: $alert-success-text;
font-size: 18px;
font-weight: bold;
text-decoration: none;
}
position: relative;
border-top: 1px solid transparent;
&::before {
position: absolute;
top: 0;
left: 15px;
width: calc(100% - 30px);
content: '';
border-top: 1px solid $table-border-color;
}
&.headline, &.simple {
border-top: 1px solid transparent;
&::before {
border-top: 1px solid $table-border-color;
}
}
}
.product-appendix-row {
border-top: 1px solid $table-border-color;
border-bottom: 1px solid $table-border-color;
padding: 1.25*$line-height-computed 0;
& > :last-child {
margin-bottom: 0;
}
}
article.item-with-variations {
margin: 0 -15px;
padding: 0 15px;
}
article.item-with-variations:last-child, .product-row:last-child {
position: relative;
border-bottom: 1px solid transparent;
&::after {
position: absolute;
bottom: 0;
left: 15px;
width: calc(100% - 30px);
content: '';
border-bottom: 1px solid $table-border-color;
}
}
article.item-with-variations .product-row:last-child:after {
display: none;
}
.radio .variation-description {
padding-left: 20px;
}
.variation-description {
color: lighten($text-color, 25%);
}
.voucher-row {
margin-top: 10px;
}
.toggle-variation-description {
cursor: pointer;
}
#voucher-toggle {
display: none;
}
.panel-body:not(:has(*)) {
padding: 0;
}
.panel-body > *:last-child,
.panel-body address:last-child {
margin-bottom: 0;
}
.panel > hr {
margin: 0;
border-top: 1px solid $table-border-color;
}
.product-row {
padding: 1.25*$line-height-computed 0;
.count form {
display: inline;
}
.price, .count {
text-align: right;
}
.price small,
.availability-box small {
display: block;
line-height: 1;
}
&.total {
border-top: 1px solid $table-border-color;
}
&.variation>div:first-child {
position: relative;
padding-inline-start: calc(15px + 1.3em);
}
&.variation h5:before {
content: "";
display: block;
width: .65em;
height: 6px;
position: absolute;
left: 16px;
top: 0.35em;
border-width: 0 0 1px 1px;
border-style: solid;
}
}
.panel-contact dl {
margin-bottom: 0;
}
.panel-primary .panel-heading a {
color: white;
}
.checkout-button-row {
padding-top: 15px;
}
div.front-page {
margin-top: 30px;
}
.offline-banner {
background: $brand-danger;
color: white;
width: 100%;
padding: 5px;
text-align: center;
a, .btn-link {
text-decoration: underline;
color: white;
}
}
#questions_group .panel-title a {
line-height: 22px;
}
@media (max-width: $screen-sm-max) {
.page-header h1 small, h1.content-header small {
display: block;
white-space: normal;
}
.row-voucher > div:first-child {
margin-bottom: 15px;
}
}
@media (min-width: $screen-sm-min) {
.col-xs-6.availability-box,
.col-xs-6.price:has(.input-group-price) {
margin-top: -6px;
margin-bottom: -6px;
}
}
@media (max-width: $screen-xs-max) {
.product-description p:last-child {
margin-bottom: 15px;
}
.product-row .price {
text-align: left;
}
.product-row.variation .price {
padding-inline-start: calc(1.3em + 15px);
}
}
.calendar-nav, .calendar-nav > li {
list-style: none;
margin: 0;
padding: 0
}
.calendar-nav > li {
padding: 0 0 10px;
}
.calendar-nav {
display: flex;
align-items: end;
}
.calendar-nav > li {
width: 60%;
}
.calendar-nav > li:first-child,
.calendar-nav > li:last-child {
width: 20%;
}
.subevent-toggle {
display: none;
}
h2.subevent-head {
margin-top: 10px;
}
.cancel-fee-slider {
display: flex;
flex-direction: row;
align-items: center;
.slider-selection {
background: $brand-success;
}
.slider-handle {
@include slider_background-image($brand-success, var(--pretix-brand-success-darken-5), $brand-success);
}
.slider-tick-container {
opacity: 0;
visibility: hidden;
}
input {
flex: 0;
}
& > div {
flex: 1;
font-weight: bold;
}
& > div:first-child {
text-align: right;
padding-right: 20px;
}
& > div:last-child {
text-align: left;
padding-left: 20px;
}
}
#cancel-fee-custom-link {
margin-bottom: 20px;
}
.info-download {
margin-top: 0;
margin-bottom: 30px;
.download-btn-form + .download-btn-form {
margin-left: .5em;
}
button {
margin-top: .5em;
}
}
.lead + .info-download {
margin-top: -15px;
}
.refund-gift-card-code {
font-size: 24px;
font-family: $font-family-monospace;
padding: 8px 0;
}
.banner-bottom, .site-notice-bottom {
padding-top: 15px;
}
.banner-top, .site-notice-top {
padding-bottom: 15px;
}